Wordpress: Условное меню / Меню для страницы - PullRequest
0 голосов
/ 25 октября 2019

Я создаю сайт с помощью Divi Builder. В настоящее время я редактирую файл header.php и у меня возникают проблемы с применением условного меню. В настоящее время я использую основное меню для одной страницы и дополнительное меню для другой. Оба прекрасно работают в режиме рабочего стола, но в раскрывающемся списке мобильных устройств отображаются все элементы, как первичные, так и вторичные.

if(is_page(1)){

$primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );             

} else if (is_page(2)){

$primaryNav = wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

} else {

$primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

}

Я считаю, что это для мобильных устройств

$slide_nav = '';
$slide_menu_class = 'et_mobile_menu';

$slide_nav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
$slide_nav .= wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );


Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Эта проблема была решена. Оказывается, мобильная навигация была в функциях родительской темы. Php

Решением было добавить другое меню в функцию register_nav_menus ().

0 голосов
/ 25 октября 2019

Как настроено это выпадающее меню? возможно, в вашей теме она вызывается другой функцией и на самом деле имеет только элементы, связанные с ней в админке. Проверьте в админ-панели, нет ли меню, не связанного с ним, и если оно еще не помещено здесь, отрывок из меню мобильного устройства, чтобы узнать, есть ли какое-либо другое, отличное от вашего.

-------------- Обновлено после обновления ------------------

В первом коде вы можете упроститьэто так:

if (is_page(2)){

    $primaryNav = wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

} else {

    $primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

}

Во втором коде вы можете сделать это так:

$slide_nav = '';
$slide_menu_class = 'et_mobile_menu';

if (is_page(2)){
    $slide_nav .= wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
} else {
    $slide_nav .= wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...