4

空白のテーマ テンプレートを使用して wordpress テーマを作成し、以下のコードを header.php に追加してメニューを有効にしました。

<body <?php body_class(); ?>>
    <div id="navbar"></div>

    <div id="wrapper" class="clear">

        <nav> 
                <?php wp_nav_menu( array('theme_location' => 'primary' ) ); ?>

        </nav>

そして、これを functions.php に追加しました:

if (function_exists('register_nav_menus')) {
    register_nav_menus(
        array(
            'main_nav' => 'Main Navigation Menu'
            )
        );
};

ページにリンクを追加するとメニューが表示され、正常に動作しますが、 Google というラベルが付いたhttp://www.google.comというカスタム リンクを追加すると、ナビゲーション バーに何も表示されません。ソースを表示すると、カスタム リンクがまったく設定されていません。

google.com でのテスト

<nav>                  
       <div class="menu">
          <ul>
              <li class="page_item page-item-9"><a href="http://localhost/wordpress/anatomy/">Anatomy</a></li>
              <li class="page_item page-item-11"><a href="http://localhost/wordpress/history/">History</a></li>
              <li class="page_item page-item-7"><a href="http://localhost/wordpress/home/">Home</a></li>
          </ul>
       </div>
</nav>

nav の私の CSS は単純です。

    nav {
    padding:0;
    margin:0;
    position:absolute;
    width: 900px;
} 
nav ul li
    {list-style: none;
    font-family: 'Numans', sans-serif;
    font-size: 15px;
    color: #ffffff;
    text-align:left;
    text-transform: uppercase;
    padding: 0;
    margin: 0 30px;
    display: inline;
    position: relative;
    top:-32px;
}  
nav ul li a {
    text-decoration: none;
    color: #ffffff;
}
nav ul li a:visited 
    {color: #ffffff;
}
nav ul li a:hover
    {color: #cccccc;
}
nav ul li a:active 
    {color: #ffffff;
}

私はphpとワードプレスのテーマに非常に慣れていないので、オンラインで同じ問題を抱えている人を見つけることができません.

4

1 に答える 1

6

問題はtheme_location、メニューを登録したときに割り当てた名前と一致しないことです。

メニューを登録したとき、それを呼び出しましたmain_nav。それを呼び出したので、そのメニューを表示するには、次のように、メニューへの呼び出しを reference に変更する必要がありますmain_nav

wp_nav_menu( array('theme_location' => 'main_nav' ) );

于 2012-10-16T15:56:45.397 に答える