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

صفحه نخست » آموزش وردپرس » آموزش ساخت متاباکس در وب سایت های وردپرسی
طراحی سایت

metabax-wordpress-parswp

آموزش ساخت متاباکس در وردپرس

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

متا باکس چیست؟
متاباکس ها در وب سایت های وردپرسی در واقع بخش های دلخواهی در نوشته ها و برگه های شما در وب سایت هستند که دارای فیلدهای ویژه ای برای دریافت اطلاعات هستند. برخی متاباکس های پیشفرض وردپرس عبارتند از: تصویر شاخص، دسته ها، انتشار و…. که در ادامه به توضیح کامل آن ها میپردازیم.

در برخی موارد با افزودن افزونه خاصی به وب سایت های وردپرسی مانند yoast wordpress seo ، در صفحه افزودن نوشته در قسمت پیشخوان وردپرس برگه متاباکس جدیدی اضافه می کند و یا با فعال کردن تصویر شاخص در سایت وردپرسی، متاباکس تصویر شاخص اضافه خواهد شد.که این موارد استقاده های متاباکس در وب سایت های وردپرسی هستند.

اما چه زمانی باید از متا باکس ها استفاده کرد؟
برای درک بهتر این موضوع مثالی برای شما می زنیم فرض کنید می خواهید یک وب سایت فروشگاهی با استفاده از سیستم مدیریت محتوای وردپرس ایجاد کنید . شما وردپرس را نصب کرده و محصولات را از قسمت نوشته ها وارد می کنید و در این هنگام می خواهید که هنگام نوشتن محصول، فیلد های اضافه ای برای دریافت مشخصات محصول وجود داشته باشد: برای مثال فیلد رنگ، اندازه، قیمت ، گالری تصاویر و…. حال این فیلد ها وجود ندارند.چه باید کرد؟ در این صورت می توانید از متاباکس وردپرس استفاده کنید.تنها راه ممکن همین است .

برای شروع کار باید به صورت زیر عمل کنیم :
در ابتدا باید متاباکس را بسازیم ، اولین مورد کد زیر است . کد زیر در وب سایت های وردپرسی مقدار بازگشتی فیلد ها را بر می گرداند . این تابع زمانی استفاده می شود که مقدار در متاباکس وارد نشده باشد و مقدار خالی باشد و چیزی برای استفاده وجود نداشته باشد. پس کد زیر را داخل فایل function.php قرار دهید :

function parswp_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;
}

قدم بعدی در انجام کار برای کد های وب سایت وردپرسی، ساخت متاباکس وردپرس می باشد.برای این منظور با قرار دادن کد زیر در وب سایت وردپرسی خود متاباکسی به نام ” نمونه متاباکس پارس وی پی ” به صفحه نوشته و برگه اضافه خواهد شد. البته شما می توانید نام آن را هم تغییر دهید. کد زیر را داخل فایل functions.php در فایل های وب سایت وردپرسی خود وارد نمائید:

function parswp_add_custom_meta_box() {
	add_meta_box( 'parswp-meta-box', __( 'نمونه متاباکس پارس وی پی', 'textdomain' ), 'parswp_meta_box_output', 'post', 'normal', 'high' );  // متاباکس صفحه نوشته
	add_meta_box( 'parswp-meta-box', __( 'نمونه متاباکس پارس وی پی', 'textdomain' ), 'parswp_meta_box_output', 'page', 'normal', 'high' );  // متاباکس صفحه برگه
}
add_action( 'add_meta_boxes', 'parswp_add_custom_meta_box' );

با استفاده از کد فوق فقط متاباکس ایجاد میشود و هیچ فیلدی در آن وجود ندارد که برای استفاده از آن باید فیلد هایی را نیز به آن اضافه کرد که روند کاری به این ترتیب است که با استفاده از کد زیر میتوانید فیلد ها را به متاباکس اضافه کنید:

<?php
function parswp_meta_box_output( $post ) {
    // ساخت فیلدها
    wp_nonce_field( 'my_parswp_meta_box_nonce', 'parswp_meta_box_nonce' ); ?>
 
        <label for="parswp_textfield"><?php _e( 'عنوان', 'textdomain' ); ?>:</label>
        <input type="text" name="parswp_textfield" id="parswp_textfield" value="<?php echo parswp_get_custom_field( 'parswp_textfield' ); ?>" size="50" />
 
        <label for="parswp_textarea"><?php _e( 'متن', 'textdomain' ); ?>:</label>
        <textarea name="parswp_textarea" id="parswp_textarea" cols="60" rows="4"><?php echo parswp_get_custom_field( 'parswp_textarea' ); ?></textarea>
 
<?php }
?>

حال پس از قرار دادن کد های فوق میبینید که فیلد ها نیز به متاباکس ایجاد شده اضافه شدند و کار تمام است.حال میرسیم به مرحله آخر کار.در این مرحله باید بتوانیم مقادیر متاباکس ها را ذخیره نمائیم که برای این منظور میتوان از کد زیر در وب سایت وردپرس استفاده کرد.

function parswp_meta_box_save( $post_id ) {
    // جلوگیری از اجرای اسکریپت زمانی که در حال ذخیره خودکار است
    if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
 
    // بررسی فعلی متاباکس
    if( !isset( $_POST['parswp_meta_box_nonce'] ) || !wp_verify_nonce( $_POST['parswp_meta_box_nonce'], 'my_parswp_meta_box_nonce' ) ) return;
 
    // جلوگیری از اجرای اسکریپت زمانی که کاربر اجازه ویرایش ندارد
    if( !current_user_can( 'edit_post' ) ) return;
 
    // ذخیره فیلد عنوان
    if( isset( $_POST['parswp_textfield'] ) )
        update_post_meta( $post_id, 'parswp_textfield', esc_attr( $_POST['parswp_textfield'] ) );
 
    // ذخیره فیلد متن
    if( isset( $_POST['parswp_textarea'] ) )
        update_post_meta( $post_id, 'parswp_textarea', esc_attr( $_POST['parswp_textarea'] ) );
}
add_action( 'save_post', 'parswp_meta_box_save' );

توجه کنید :

در کد فوق پارامتر normal به این معناست که متاباکس در زیر ادیتور وردپرس قرار بگیرد. اگر بخواهید متاباکس در سایدبار چپ قالب وردپرس در زیر متاباکس انتشار قرار بگیرد، می بایست به جای عبارت normal عبارت side را قرار دهید.حال در مورد بعدی پارامتر high اولویت متاباکس را نشان می دهد و بدین معناست که این متاباکس می بایست اول از همه و قبل از بقیه متاباکس ها قرار بگیرد.که این مورد را نیز میتوانید تغییر دهید.

اشتراک گذاری :
مطالب زیر را حتما بخوانید

آموزش کاربردی htaccess برای وردپرس

خیلی از کاربران وردپرس هنگام حل مشکلات سایتشون با فایل htaccess سرو کار داشتن.فایل ...

اضافه نمودن آیکون به منوی وردپرس

امروز برای شما کاربران پارس وی پی آموزش قرار دادن آیکون در کنار منوی سایت را آماده ...

ایمن سازی وردپرس با افزونه iThemes Security

ایمن سازی وردپرس با افزونه iThemes Security ایمن سازی وردپرس یکی از دغدغه های ...

دیدگاه کاربران
نظرات کاربران برای این مطلب را دنبال کنید


برای نمایش دیدگاه کلیک کنید
    ۰ دیدگاه ثبت شده
اطلاعات پست

۳۱۷۱

بازدید

۰

دیدگاه

0

علاقه مندی

5 از 1 رای