2

所以我对整个 WordPress 很陌生,但我对 HTML/CSS 还是有经验的。我在 WordPress 的管理区域内创建了一个新菜单,但是当分配给主题时,它仍然无法正确显示。如果我在这里完全失明,请提前道歉,但 PHP 也不是我的强项。

所以下面是有问题的代码,与菜单在标题部分的位置有关:

<div id="nav-primary" class="nav"><nav>
    <?php if ( is_user_logged_in() ) {
        wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) ); /* if the visitor is logged in, this primary navigation will be displayed */
    } else {
        wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); /* if the visitor is NOT logged in, this primary navigation will be displayed. if a single menu should be displayed for both conditions, set the same menues to be displayed under both conditions through the Wordpress backend */
    } ?>
</nav></div><!--#nav-primary-->

我知道“标题菜单”指向我设置的新菜单,但它没有显示正确的菜单。相反,它显示了很多菜单项,而我设置的菜单项只有 4 个。

任何人都可以对此有所了解吗?我真的很感激一些帮助。

谢谢!

标记

4

1 回答 1

1

检查这一步。

  1. 您是否在 function.php 文件中添加了此功能。如果没有添加这个。

    /* 添加两个自定义菜单 */

                function register_my_menus() {
                  register_nav_menus(
                    array(
                      'logged-in-menu' => __( 'Logged in Menu' ),
                      'header-menu' => __( 'Header Menu' )
                    )
                  );
                }
                add_action( 'init', 'register_my_menus' );
    
  2. 您是否从外观 > 菜单中为您的两个菜单选择了菜单?如果没有,则创建菜单并选择它。

让我知道你仍然需要任何帮助。

编辑 登录和未登录使用菜单的新代码。

/* Add two custom menu */ 
function register_my_menus() { 
    register_nav_menus( 
        array( 'top-menu' => _( 'Top Menu' ), 
            'header-top-menu' => _( 'Header Top Menu' ) ) ); 
    } 
    add_action( 'init', 'register_my_menus' ); 


    <?php if ( is_user_logged_in() ) 
        { wp_nav_menu( array( 'theme_location' => 'top-menu' ) ); } 
        else { wp_nav_menu( array( 'theme_location' => 'header-top-menu' ) ); } 
        ?>
于 2012-10-16T10:13:06.627 回答