با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره جامع آموزش ساخت قالب وردپرس در خدمت شما هستیم.
در این جلسه قصد داریم به آموزش ساخت منو در قالب وردپرس (Navigation Menu) بپردازیم.
منو های Navigation ، منو های قابل سفارشی سازی در قالب ها هستند.
این منو ها به کاربر این امکان را میدهد تا صفحات، پست ها، دسته ها و url ها را به منو اضافه کنند.
برای استفاده از منو های Navigation ابتدا باید آن ها را فعال کرده و سپس در مکان مناسب در قالب نمایش دهید.
با استفاده از تابع ()register_nav_menus در فایل functions.php میتوانید منو ها را فعال کنید.
بعد از فعال سازی، میتوانید نام منو را در Appearance > Menus مشاهده کنید.
مثال زیر دو مکان به تب Manage Locations اضافه میکند. (Header Menu و Extra Menu)
1 2 3 4 5 6 7 8 9 | function register_my_menus() { register_nav_menus( array( 'header-menu' => __( 'Header Menu' ), 'extra-menu' => __( 'Extra Menu' ) ) ); } add_action( 'init', 'register_my_menus' ); |
بعد از فعال سازی، با استفاده از تابع ()wp_nav_menu میتوانید منو را در قالب نمایش دهید.
برای مثال کد زیر را به فایل header.php اضافه کرده تا منو header menu را نمایش دهد:
1 | wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); |
برای مشاهده لیست کامل پارامتر های تابع wp_nav_menu میتوانید به لینک زیر مراجعه نمایید.
برای مثال، کد زیر یک المان span را قبل و بعد از منو نمایش میدهد:
1 2 3 4 5 6 7 | wp_nav_menu( array( 'menu' => 'primary', 'link_before' => '<span class="screen-reader-text">', 'link_after' => '</span>', ) ); |
خروجی کد HTML به صورت زیر خواهد بود:
1 2 3 4 5 6 7 | <div class="menu-social-container"> <ul id="menu-social"> <li id="menu-item-1"> <a href="http://twitter.com/"><span class="screen-reader-text">Twitter</span> </li> </ul> </div> |
به طور پیشفرض، وردپرس در صورتی که منو یا مکان آن را پیدا نکند، اولین منویی که خالی نیست را نمایش میدهد و یا اگر هیچ منو سفارشی وجود نداشته باشد، یک صفحه منو تولید میکند.
برای جلوگیری از این امر، از پارامتر های theme_location و fallback_cb استفاده میکنیم.
1 2 3 4 5 6 7 8 9 | wp_nav_menu( array( 'menu' => 'primary', // do not fall back to first non-empty menu 'theme_location' => '__no_such_location', // do not fall back to wp_page_menu() 'fallback_cb' => false ) ); |
جلسه ساخت منو در قالب وردپرس (Navigation Menu) نیز به پایان رسید.
در جلسه بعد به آموزش صفحه بندی مطالب وردپرس خواهیم پرداخت. با ما همراه باشید.