آشنایی با WP_Customize_Nav_Menus::print_post_type_container()
اگر به عنوان یک توسعهدهنده وردپرس کار کردهاید، احتمالاً تا به حال با بخش سفارشیسازی وردپرس آشنا شدهاید. یکی از کلاسهای کلیدی در این بخش WP_Customize_Nav_Menus
است که امکاناتی برای مدیریت و سفارشیسازی منوهای ناوبری فراهم میکند. یکی از متدهای مهم این کلاس print_post_type_container()
است که نقش حیاتی در نمایش بخشهای مربوط به نوع پستها در سفارشیسازی منوها ایفا میکند.
در واقع، این متد برخی از قابلیتهای واجب برای نمایش و مدیریت انواع پستها در منوهای وردپرس را فراهم میکند. این یعنی شما میتوانید به راحتی انواع پستها، همچون پستهای عادی، برگهها و حتی انواع پستهای سفارشی را به منوهای خود اضافه یا آنها را مدیریت کنید. با استفاده از این متد، کاربر میتواند انواع محتوا را به سادگی و با طراحی بصری مناسب در منوهای خود اینتگره کرده و ارائه دهد.
برخی از ویژگیهای اصلی print_post_type_container()
شامل بارگذاری اطلاعات لازم برای هر نوع پست و همچنین مدیریت تعاملات بین هر نوع پست و منوهای ناوبری است. این تعاملات به شما اجازه میدهد تا ویژگیهای خاصی از پستها را به صورت بصری و جذاب درون منوها نمایش دهید. به عبارت دیگر، این متد به شیوهای عمل میکند که کاربران میتوانند به راحتی انتخابهای خود را انجام دهند و منوهای مناسبی برای وبسایت خود بسازند.
حالا بیایید نگاهی به یک مثال از نحوه استفاده از این متد بیاندازیم. در زیر یک مثال ساده از استفاده از print_post_type_container()
را خواهید دید که در آن میخواهیم انواع مختلف پستها را در یک منو نمایش دهیم.
function my_customize_register( $wp_customize ) {
$wp_customize->add_section('nav_menu_section', array(
'title' => __('Custom Nav Menu', 'textdomain'),
'priority' => 30,
));
$wp_customize->add_setting('my_menu_setting', array(
'default' => 'default',
));
$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'my_menu_control', array(
'label' => __('Choose a Menu', 'textdomain'),
'section' => 'nav_menu_section',
'settings' => 'my_menu_setting',
'type' => 'select',
'choices' => array(
'menu1' => __('Menu 1', 'textdomain'),
'menu2' => __('Menu 2', 'textdomain'),
),
)));
// باید.container را اضافه کنید و print_post_type_container را فراخوانی کنید
$nav_menu_container = new WP_Customize_Nav_Menus();
$nav_menu_container->print_post_type_container();
}
add_action( 'customize_register', 'my_customize_register' );
توضیح کد
function my_customize_register( $wp_customize )
این خط یک تابع جدید تعریف میکند که به وردپرس میگوید چگونه سفارشیسازی را مدیریت کند.
$wp_customize->add_section(...)
این خط یک بخش جدید به سفارشیسازی اضافه میکند که میتوانیم تنظیمات مربوط به منو را در آن قرار دهیم.
$wp_customize->add_setting(...)
با این خط، یک تنظیم جدید به سفارشیسازی میافزاییم که میتواند مقادیر پیشفرضی داشته باشد.
$wp_customize->add_control(new WP_Customize_Control(...))
این خط برای ایجاد یک کنترل جدید است که به کاربر اجازه میدهد از بین گزینهها یکی را انتخاب کند.
$nav_menu_container->print_post_type_container();
این خط متد
print_post_type_container()
را فراخوانی میکند و نتیجه آن را در سفارشیسازی نمایش میدهد. درواقع، این متد محتوای انواع پستها را در درون منوها مدیریت میکند.