آذر ۲۵, ۱۳۹۷ Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

سلام
طریقه ی اضافه نمودن یک جعبه ی شخصی در زیر جعبه ویرایش مطلب در صفحه ی ویرایش و ارسال مطالب وردپرس

برای اینکار کدهای زیر را می تونید در functions.php  قالب و محل مناسب یا در برگه ای جداگانه با فرمت php  و در پوشه ی افزونه ها ذخیره کنید
در صورتی که کد را در قالب یک افزونه پیاده کردید باید از طریق افزونه ها افزونه ای که ساختید رو فعال کنید ولی با قرار دادن مستقیم کدها در functions.php  مستقیم جعبه به صفحه ی ارسال و ویرایش مطالب اضافه می شه

function myplugin_add_meta_box() {
$screens = array( 'post', 'page' );
foreach ( $screens as $screen ) {
  add_meta_box(
   'myplugin_sectionid',
   __( 'My Post Section Title', 'TEXTDOMAIN' ),
   'myplugin_meta_box_callback',
   $screen
  );
}
}
add_action( 'add_meta_boxes', 'myplugin_add_meta_box' );
function myplugin_meta_box_callback( $post ) {
wp_nonce_field( 'myplugin_meta_box', 'myplugin_meta_box_nonce' );
$value = get_post_meta( $post->ID, '_my_meta_value_key', true );
echo '<label for="myplugin_new_field">';
_e( 'Description for this field', 'TEXTDOMAIN' );
echo '</label> ';
echo '<textarea id="myplugin_new_field" name="myplugin_new_field" style="width:100%;height:80px;background:#CCFFFF;">' . $value . '</textarea>';
}
function myplugin_save_meta_box_data( $post_id ) {
if ( ! isset( $_POST['myplugin_meta_box_nonce'] ) ) {
  return;
}
if ( ! wp_verify_nonce( $_POST['myplugin_meta_box_nonce'], 'myplugin_meta_box' ) ) {
  return;
}
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
  return;
}
if ( isset( $_POST['post_type'] ) && 'page' == $_POST['post_type'] ) {
  if ( ! current_user_can( 'edit_page', $post_id ) ) {
   return;
  }
} else {
  if ( ! current_user_can( 'edit_post', $post_id ) ) {
   return;
  }
}
if ( ! isset( $_POST['myplugin_new_field'] ) ) {
  return;
}
$my_data = sanitize_text_field( $_POST['myplugin_new_field'] );
update_post_meta( $post_id, '_my_meta_value_key', $my_data );
}
add_action( 'save_post', 'myplugin_save_meta_box_data' );

در کدها دقت کنید عنوان باکس ما

_my_meta_value_key

 

است در صورت تمایل به تغییر نام آنرا بیابید و تغییر دهید
یکبار دیگر به سراغ کدها بروید و این دو بخش را بیابید

   __( 'My Post Section Title', 'TEXTDOMAIN' ),

و

_e( 'Description for this field', 'TEXTDOMAIN' );

بجای TEXTDOMAIN تکست دامین قالب خود را جایگذاری نمایید تا بتوانید نوشته ها را از طریق POEDIT  و ویرایش فایل fa_IR.po  قالب فارسی کنید و اگر می خواهید به طور مستقیم فارسی کنید به ترتیب کدها را به

'ترجمه عنوان اصلی ',

و

echo 'ترجمه شرح جعبه ';

تبدیل کنید
یکبار دیگر به کدها مراجعه کنید

$screens = array( 'post', 'page' );

در خط دوم تعیین کننده پست تایپیست که می خواهید جعبه در زمان ارسال و ویرایش آن دیده شود چنانچه قالب شما از پست تایپ های دیگری نیز پشتیبانی می کند نام آنرا هم به این بخش بیافزایید مثلا در اغلب قالبهای فروشگاهی پست تایپ product برای ارائه محصولات تعریف می شود که کد باید به این شکل تغییر کند

$screens = array( 'post', 'page', 'product' );

نکته امکان مدیریت مشاهده و یا مخفی نمودن جعبه از طریق تنظیمات در صفحه ی ویرایشگر مقدور است

 


توجه : برای دانلود فایل از سایت باید در انجمن وارد شوید.

نظرات

توجه : لطفاً فقط نظرات خود را از این طریق ارسال نمایید و سوالات و مشکلات خود را در انجمن سایت مطرح نمایید.

دیدگاهتان را بنویسید