PRGAME 175 ارسال شده در دی 95 گزارش بازنشر ارسال شده در دی 95 سلام . من چندتا متاباکس به صورت textarea دارم که ذخیره میشن ولی یه مشکلی وجود داره ! مشکل اینه که وقتی مقدار دارن ذخیره میشه ولی وقتی مقداری وارد نمیکنم ذخیره نمیشه و توی شرط زیر که براش گذاشتم مشکل ایجاد میشه : <?php if(get_post_custom_values('w3tools_dfe')) { ?> <div class="descbox"> <div class="descboxn">توضیحات :</div> <div class="desco"><?php echo do_shortcode(html_entity_decode(get_post_meta(get_the_ID(),'w3tools_dfe',true ))); ?></div> </div><?php } else { ?><?php } ?> کد بالا مربوط به خروجی هست . کد زیر رو هم که بخشیش مربوط به ذخیره هست رو ملاحظه بفرمایید : <?php function w3tools_get_custom_field($value) { global $post; $custom_field=get_post_meta($post->ID,$value,true); if ( !empty( $custom_field ) ) return is_array($custom_field) ? stripslashes_deep($custom_field) : stripslashes(wp_kses_decode_entities($custom_field)); return false; } function w3tools_add_custom_meta_box() { //فعال سازی متاباکس در صفحه پست جدید add_meta_box('w3tools-meta-box',__('جعبه دانلود','textdomain'),'w3tools_meta_box_output', 'post', 'normal', 'high' ); //فعال سازی متاباکس در صفحه برگه جدید add_meta_box('w3tools-meta-box',__('جعبه دانلود','textdomain'),'w3tools_meta_box_output', 'page', 'normal', 'high' ); } add_action( 'add_meta_boxes', 'w3tools_add_custom_meta_box' ); function w3tools_meta_box_output($post){ // ساخت فیلدها wp_nonce_field( 'my_w3tools_meta_box_nonce', 'w3tools_meta_box_nonce' ); ?> <p> <label for="w3tools_dfe"><?php _e( 'بخش توضیحات بالای دانلود', 'textdomain' ); ?>:</label><br /> <textarea name="w3tools_dfe" id="w3tools_dfe"><?php echo w3tools_get_custom_field('w3tools_dfe'); ?></textarea> </p> <?php } function w3tools_meta_box_save($post_id) { // جلوگیری از اجرای اسکریپت هنگام ذخیره خودکار if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; // بررسی فعلی متاباکس if(!isset($_POST['w3tools_meta_box_nonce']) || !wp_verify_nonce($_POST['w3tools_meta_box_nonce'],'my_w3tools_meta_box_nonce')) return; // جلوگیری از اجرای اسکریپت زمانی که کاربر اجازه ویرایش ندارد if(!current_user_can('edit_post')) return; if(isset($_POST['w3tools_dfe'])) update_post_meta( $post_id,'w3tools_dfe', esc_attr($_POST['w3tools_dfe'])); } add_action('save_post','w3tools_meta_box_save'); ?> بقیه فیلد ها مثل input ها یا مثلا چک باکس ها به درستی ذخیره میشه . ممنون میشم کمکم کنید . نقل قول لینک به ارسال
فرحان 997 ارسال شده در دی 95 گزارش بازنشر ارسال شده در دی 95 سلام. این خط ها : if(isset($_POST['w3tools_dfe'])) update_post_meta( $post_id,'w3tools_dfe', esc_attr($_POST['w3tools_dfe'])); رو به این صورت تغییر بدید : $w3tools_dfe = isset($_POST['w3tools_dfe']) ? $_POST['w3tools_dfe'] : ''; update_post_meta( $post_id,'w3tools_dfe', esc_attr($w3tools_dfe)); 2 نقل قول لینک به ارسال
PRGAME 175 ارسال شده در دی 95 مالک گزارش بازنشر ارسال شده در دی 95 (ویرایش شده) در 10 دقیقه قبل، فرحان گفته است : سلام. این خط ها : if(isset($_POST['w3tools_dfe'])) update_post_meta( $post_id,'w3tools_dfe', esc_attr($_POST['w3tools_dfe'])); رو به این صورت تغییر بدید : $w3tools_dfe = isset($_POST['w3tools_dfe']) ? $_POST['w3tools_dfe'] : ''; update_post_meta( $post_id,'w3tools_dfe', esc_attr($w3tools_dfe)); بازم کار نکرد ! نمیدونم مشکل از چیه ! همه پلاگین هارو هم غیر فعال کردم . همه ی کد های functions رو هم پاک کردم . بازم مشکل وجود داره ! حتی وردپرس رو هم دوباره نصب کردم . ولی مشکل حل نشد ! از این اموزش استفاده کردم : http://www.w3tools.ir/2016/03/01/آموزش-ساخت-متاباکس-سفارشی-در-وردپرس/ ویرایش شده دی 95 توسط PRGAME نقل قول لینک به ارسال
فرحان 997 ارسال شده در دی 95 گزارش بازنشر ارسال شده در دی 95 شما ابتدای تابع w3tools_meta_box_save با var_dump از $_POST دامپ بگیرید ببینید چه چیزهایی توش هست. ممکنه w3tools_meta_box_nonce هم پست نشده باشه در نتیجه اصلا اون قسمت اپدیت پست متا اجرا نمیشه. 2 نقل قول لینک به ارسال
PRGAME 175 ارسال شده در دی 95 مالک گزارش بازنشر ارسال شده در دی 95 در 1 دقیقه قبل، فرحان گفته است : شما ابتدای تابع w3tools_meta_box_save با var_dump از $_POST دامپ بگیرید ببینید چه چیزهایی توش هست. ممکنه w3tools_meta_box_nonce هم پست نشده باشه در نتیجه اصلا اون قسمت اپدیت پست متا اجرا نمیشه. میشه کدش رو بنویسید . من مبتدی هستم توی برنامه نویسی نقل قول لینک به ارسال
فرحان 997 ارسال شده در دی 95 گزارش بازنشر ارسال شده در دی 95 var_dump($_POST); 1 نقل قول لینک به ارسال
PRGAME 175 ارسال شده در دی 95 مالک گزارش بازنشر ارسال شده در دی 95 در 1 دقیقه قبل، فرحان گفته است : var_dump($_POST); کجا و چطور قرارش بد م؟ نقل قول لینک به ارسال
PRGAME 175 ارسال شده در دی 95 مالک گزارش بازنشر ارسال شده در دی 95 (ویرایش شده) در 16 دقیقه قبل، فرحان گفته است : var_dump($_POST); کدش مشکل داره . چون الان همه ی کد های خودمو پاک کردم و دوباره کد های اموزش رو کپی کردم ! بازم مشکل داشت . میشه شما هم تستش کنید .؟ با قالب فابریک وردپرس هم تستش کردم بازم مشکل داره . ویرایش شده دی 95 توسط PRGAME نقل قول لینک به ارسال
PRGAME 175 ارسال شده در دی 95 مالک گزارش بازنشر ارسال شده در دی 95 مشکل حل شد ! مشکل در کد خروجیم بود ! 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .