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-->

「header-menu」が設定した新しいメニューを指していることはわかっていますが、正しいメニューが表示されていません。代わりに、私が設定したメニュー項目が 4 つしかないのに、たくさんのメニュー項目が表示されます。

誰でもこれに光を当てることができますか? 助けていただければ幸いです。

ありがとう!

マーク

4

1 に答える 1

1

この手順を確認してください。

  1. この関数をfunction.phpファイルに追加しましたか。いいえの場合はこれを追加します。

    /*2つのカスタムメニューを追加します*/

                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 に答える