رفتن به مطلب

مشکل در آپلود


goldenfont

پست های پیشنهاد شده

اینو ابتدای کدها اضافه کنید


<?php
$upload_dir = wp_upload_dir();
$folder = $upload_dir['path'];
?>

لینک به ارسال

هرجا گذاشتم سایت خراب شد ، کجا بزارم ؟


<?php
/**
* @package WordPress
* @subpackage Showcaser Theme
*/
//register settings
function showcaser_theme_settings_init(){
register_setting( 'showcaser_theme_settings', 'showcaser_theme_settings' );
}
//menu
function showcaser_add_settings_page() {
add_menu_page( __( 'Showcaser' ), __( 'تنظيمات پوسته' ), 'manage_options', 'showcaser-settings', 'showcaser_theme_settings_page');
}
add_action( 'admin_init', 'showcaser_theme_settings_init' );
add_action( 'admin_menu', 'showcaser_add_settings_page' );
//start settings page
function showcaser_theme_settings_page() {
global $slider_effects;
if ( ! isset( $_REQUEST['updated'] ) )
$_REQUEST['updated'] = false;
if(isset($_REQUEST['submit'])){
$folder = get_template_directory()."/upload/";
$folder_uri = get_template_directory_uri()."/upload/";
$filename = $_FILES["favicon"]["name"];
$allowedExts = array("jpg", "jpeg", "gif", "png");
$img_extension = end(explode(".", $filename));
if ($filename != NULL && ($_FILES["favicon"]["size"] < 200000) && in_array($img_extension, $allowedExts)){
while(file_exists($folder.$filename))
{
$img_count+=1;
$img_ex = explode(".", $filename);
$filename = $img_ex[0].$img_count.".".$img_ex[1];
}
move_uploaded_file($_FILES["favicon"]["tmp_name"] , $folder.$filename);
$_REQUEST['showcaser_theme_settings']['favicon']=$folder_uri.$filename;
}
else{
$_REQUEST['showcaser_theme_settings']['favicon']="";
}
$filename2 = $_FILES["logo"]["name"];
$img_extension2 = end(explode(".", $filename));
if ($filename2 != NULL && ($_FILES["logo"]["size"] < 200000) && in_array($img_extension2, $allowedExts)){
while(file_exists($folder.$filename2))
{
$img_count2+=1;
$img_ex2 = explode(".", $filename2);
$filename2 = $img_ex2[0].$img_count2.".".$img_ex2[1];
}
move_uploaded_file($_FILES["logo"]["tmp_name"] , $folder.$filename2);
$_REQUEST['showcaser_theme_settings']['logo']=$folder_uri.$filename2;
}
else{
$_REQUEST['showcaser_theme_settings']['logo']="";
}
$showcaser_theme_settings = $_REQUEST['showcaser_theme_settings'];
update_option( 'showcaser_theme_settings' , $showcaser_theme_settings);
}
?>

لینک به ارسال

در کل روش درستی نیست

این خطوط رو حذف


$folder = get_template_directory()."/upload/";
$folder_uri = get_template_directory_uri()."/upload/";

و جایگزین کنید


$upload_dir = wp_upload_dir();
$folder = $upload_dir['baseurl'];
$folder_uri = $upload_dir['url'];

لینک به ارسال

بازم ارور میده

در اون روشی که درسته

فراخوانی که صد درصد همنیه

دستور شرط رو لطف میکنین بدید ؟

لینک به ارسال

شرط نداره

باید اجراش کنید


if (is_uploaded_file($_FILES['head']['tmp_name'])) {
$upload = wp_upload_bits($_FILES["head"]["name"], null, file_get_contents($_FILES["head"]["tmp_name"]));
echo $upload['file'];
echo $upload['url'];
echo $upload['error'];
}

لینک به ارسال

خب این کدها باید در بالای تم ادمین بصورت توابع بیاد ؟

بعد چطوری دکمه آپلود رو بزارم ؟

ممنون

لینک به ارسال

لطفا سوالهای تکراری و اسپم ارسال نکنید

فرم HTML

ساخت پنل تنظیمات و محل قرار گیری شرطها

http://forum.wp-parsi.com/tutorials/article/145-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%BE%D9%86%D9%84-%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA-%D8%AF%D8%B1-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA/

لینک به ارسال

چرا هی ساخت پنل تنظیمات رو میدین ؟

پنل تنظیمات که ساخته شده

فایلهای شرط که قرار گرفته

خب این کدها میگین اشتباهن

حالا کدهای شرط و کدهای دکمه آپلود و کد فراخوانی رو میخوام

نمیفهمم چرا باز آموزش ساخت پنل تنظیمات رو میدید لینکشو ؟ !

ممنون میشم کمک کنید

4 صفحه شده این تایپیک

لینک به ارسال

کد درست. اشتباه نیست!

دکمه آپلود یک input هست در تاپیکی که لینک داده شده هست

فقط نام file input را تغییر دهید

لینک به ارسال

بزارید یکار دیگه کنیم

من کدهارو قرار میدم

هر کدوم هر اشکالی دارن و باید اصلاح بشن شما تو یک پاسخ قرار بدید

اینطوری منم دیگه میرم خونمون شما راحت میشی

1-بخش توابع که در ابتدای تم آپشن قرار میگیره


//start settings page
function showcaser_theme_settings_page() {
global $slider_effects;
if ( ! isset( $_REQUEST['updated'] ) )
$_REQUEST['updated'] = false;
if(isset($_REQUEST['submit'])){
$folder = get_template_directory()."/upload/";
$folder_uri = get_template_directory_uri()."/upload/";
$filename = $_FILES["favicon"]["name"];
$allowedExts = array("jpg", "jpeg", "gif", "png");
$img_extension = end(explode(".", $filename));
if ($filename != NULL && ($_FILES["favicon"]["size"] < 200000) && in_array($img_extension, $allowedExts)){
while(file_exists($folder.$filename))
{
$img_count+=1;
$img_ex = explode(".", $filename);
$filename = $img_ex[0].$img_count.".".$img_ex[1];
}
move_uploaded_file($_FILES["favicon"]["tmp_name"] , $folder.$filename);
$_REQUEST['showcaser_theme_settings']['favicon']=$folder_uri.$filename;
}
else{
$_REQUEST['showcaser_theme_settings']['favicon']="";
}
$filename2 = $_FILES["logo"]["name"];
$img_extension2 = end(explode(".", $filename));
if ($filename2 != NULL && ($_FILES["logo"]["size"] < 200000) && in_array($img_extension2, $allowedExts)){
while(file_exists($folder.$filename2))
{
$img_count2+=1;
$img_ex2 = explode(".", $filename2);
$filename2 = $img_ex2[0].$img_count2.".".$img_ex2[1];
}
move_uploaded_file($_FILES["logo"]["tmp_name"] , $folder.$filename2);
$_REQUEST['showcaser_theme_settings']['logo']=$folder_uri.$filename2;
}
else{
$_REQUEST['showcaser_theme_settings']['logo']="";
}
$showcaser_theme_settings = $_REQUEST['showcaser_theme_settings'];
update_option( 'showcaser_theme_settings' , $showcaser_theme_settings);
}
?>

بخش دکمه آپلود :


<tr valign="top">
<th scope="row"><?php _e( 'لوگو' ); ?></th>
<td>
<input id="showcaser_theme_settings[logo]" class="regular-text" type="file" size="36" name="logo" value="<?php esc_attr_e( $options['logo'] ); ?>" />
<br />
<label class="description abouttxtdescription" for="showcaser_theme_settings[logo]"><?php _e( 'آپلود کنید یا آدرس تصویر لوگو را وارد کنید.' ); ?></label>
<br />
<img src="<?php esc_attr_e( $options['logo'] ); ?>" />
</td>
</tr>

این هم فراخوانی :


<?php echo $options['favicon']; ?>

بیزحمت شما هم این 3 قسمت رو بمن بدید

بسیار سپاسگزارم

ممنون

لینک به ارسال

ممنون

قسمت اول شد این :


if (is_uploaded_file($_FILES['head']['tmp_name'])) {
$upload = wp_upload_bits($_FILES["head"]["name"], null, file_get_contents($_FILES["head"]["tmp_name"]));
echo $upload['file'];
echo $upload['url'];
echo $upload['error'];
}

"""" فقط update_option رو برای ذخیره استفاده کنید

مقدار $upload['url'] را باید ذخیره کنید """"""گ

این دو کار رو چطور انجام بدم ؟

لینک به ارسال

تست کنید

شما نمیتوانید به نوع file input مقدار دهید . value

theme-admin.php

لینک به ارسال

پارسا جان دستت دردنکنه

ولی باز همونطوریه

ینی وقتی اونکی فایل رو آپلود میکنی بقیه عکسها میپره!

لینک به ارسال

یعنی مشکل از چیه ؟

چرا وقتی دکمه ذخیره رو میزنم عکسهایی که قبلا آپلود شده میپره ؟ ؟ ؟ ؟

لینک به ارسال

احتمالا داره روی قبلی ها ذخیره میکنه شاید بخاطر هم اسم بودن

لینک به ارسال

نه هم اسم نیستن

روی قبلی ها هم سیو نمیکنه

اگر همرو یدفه با هم آپلود کنی مشکلی نیست

ولی فقط یدونه رو بخوای تغییر بدی بقیه همه میپره

لینک به ارسال

من فایل رو باز کردم

فقط یک بخش برای آپلودعکس بود در بخش تنظیمات پوسته

منظورتون همینجاست؟

لینک به ارسال

بله

خب شما این فایل که آقا پارسا زحمت کشیدند دادن رو ببینین

بخش لوگو و فاوآیکون

برای آپلود هستن

لینک به ارسال

یچیزی فهمیدم

مشکل از آپلود بقیه عکسها نیست !!!!

مشکل از کلدی ذخیره هستش

ینی اگ هیچکاری نکنی و فقط کلید ذخیره رو بزنی همه عکسها میپره

البته عکسهارو آپلود کنی کلید ذخیره رو بزنی همه عکسها هستش

ولی اگ بعدش یبار دیگه دکمه ذخیره رو بزنی همچی مپیره !!!!

لینک به ارسال

اینو جایگزین خط update_option کنید . حدود خط 40


$showcaser_theme_settings = $_REQUEST['showcaser_theme_settings'];
$options = get_option( 'showcaser_theme_settings' );
$showcaser_theme_settings = array_merge($options,$showcaser_theme_settings);
update_option( 'showcaser_theme_settings' , $showcaser_theme_settings);

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...