افزودن چند منو به تم در وردپرس - register_nav_menus

register_nav_menus( array $locations = array() )

ثبت منو پیمایش در تم های وردپرس

 


#پارامتر ها

  • locations

این پارامتر یک آرایه دریافت می کند و به صورت optional است, یعنی مقدار پیش فرض دارا می باشد و می توان برای این پارامتر هیچ مقداری ست نکرد. در این آرایه که مقدار پیش فرض آن یک آرایه خالی می باشد می توانید slug (شناسه خاص برای تفکیک منو) و توضیحاتی درباره ی منوی درخواستی خود ارسال کنید.


ابتدا متد register_nav_menu را بررسی که و ببینید که چگونه می توان تنها یک محل منو ثبت کرد, و بعد می توانید از بخش فهرست ها منو ثبت شده خود را ببینید که به لیست منو های تم شما اضافه شده است.

این متد به صورت اتوماتیک قابلیت پشتیبانی از فهرست ها را به تم شما اضافه میکند و دیگر نیازی نیست شما از متد add_theme_support(‘menus’) برای افزودن این قابلیت به تم خود استفاده کنید.

برای نمایش محتواهای سفارشی شده منو های ثبت شده خود در بخش هایی که در نظر گرفته اید, باید از متد wp_nav_menu استفاده کنید.

در منوی منوها در بخش نمایش که در دسترس ادمین می باشد, برای منوها گزینه های پیشرفته ای مانند “افزودن لینک دلخواه” “CSS های سفارشی” “توصیف رابطه لینک (XFN)” به شما نمایش میدهد.

از متد get_registered_nav_menus برای گرفتن لیست تمامی منوهای ثبت شده در تم می توانید استفاده کنید.

 

 


منبع

لینک فایل : wp-includes/nav-menu.php

 

function register_nav_menus( $locations = array() ) {
    global $_wp_registered_nav_menus;
 
    add_theme_support( 'menus' );
 
    foreach ( $locations as $key => $value ) {
        if ( is_int( $key ) ) {
            _doing_it_wrong( __FUNCTION__, __( 'Nav menu locations must be strings.' ), '5.3.0' );
            break;
        }
    }
 
    $_wp_registered_nav_menus = array_merge( (array) $_wp_registered_nav_menus, $locations );
}

 

 

 


نمونه کد

ابتدا چک کنید متد شما وجود دارید یا خیر و بعد آن را اضافه کنید :

if ( ! function_exists( 'mytheme_register_nav_menu' ) ) {
 
    function mytheme_register_nav_menu(){
        register_nav_menus( array(
            'primary_menu' => __( 'Primary Menu', 'text_domain' ),
            'footer_menu'  => __( 'Footer Menu', 'text_domain' ),
        ) );
    }
    add_action( 'after_setup_theme', 'mytheme_register_nav_menu', 0 );
}

 

برای استفاده ابتدا باید یک متد در اکشن (HOOK) after_setup_theme ثبت کنید که بعد از انجام این رویداد متد شما فراخوانی شود تا بتوانید از متد ثبت منو برای تم استفاده کنید.

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر نیاز است تا ابتدا وارد سایت شوید.

هیچ نظری ارسال نشده است.

در این آموزش به نحوه ثبت یک مکان برای نمایش منو ها در تم های وردپرسی خواهیم پرداخت و مثال های مرتبط با آن را را برای درک بهتر آورده ایم.


قیمت آموزش
رایگان
نوع دسترسی
رایگان

این مقاله در حال حاضر تنها به روش رایگان در دسترس می باشد.

ناصر خالدی
مدرس دوره

ناصر خالدی

مهندس شبکه, امنیت, برنامه نویسی تلفن های هوشمند, طراح وب سایت و متخصص هوش مصنوعی

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

دوره های پیشنهادی

مقالات پیشنهادی

اندروید

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


۱۰۵۴
۰
۲۹ آبان ۱۳۹۹

نود جی اس

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


۹۱۲
۰
۱۲ آذر ۱۳۹۹

وردپرس

وردپرس یک سیستم مدیریت محتوای قوی می باشد که با استفاده از آن می توان وب سایت ها و وبلاگ های گوناگونی با هر شرایطی را طراحی کرد چرا که این سیستم و ...


۸۰۶
۰
۱۳ آذر ۱۳۹۹

جاوا اسکریپت

جاوا اسکریپت یک زبان پویا و محبوب مبتنی بر شیء, داینامیک و مفسری می باشد. این زبان برای برنامه نویسی سمت سرور و کلاینت استفاده میشود که ...


۸۶۷
۰
۱۳ آذر ۱۳۹۹

Fatal error: Uncaught wfWAFStorageFileException: Unable to verify temporary file contents for atomic writing. in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php:52 Stack trace: #0 /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php(659): wfWAFStorageFile::atomicFilePutContents('/home/clonerco/...', '<?php exit('Acc...') #1 [internal function]: wfWAFStorageFile->saveConfig('livewaf') #2 {main} thrown in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php on line 52