web-dev-qa-db-ja.com

すべてのページを表示するにはwp_nav_menuを使用してください。

私は現在ワードプレスのテーマを構築しています。メニューの場合は、作成されたすべてのページを作成された順序で表示するだけです(つまり、ユーザーがサイトの[メニュー]セクションに移動して独自のページを作成する必要はありません)。

Wp_page_menuを使ってみましたが、これでうまくいきましたが、機能を拡張するためにwalkerクラスを追加する必要がありますが、この関数ではできません。それで、私のコードとしてwp_nav_menuを使って私のすべてのページを表示する方法が必要です - これをする方法はありますか?

これが私のコードです。

<nav id="nav">
    <?php wp_nav_menu( array( 'walker' => new Clapton_Nav_Walker ) ); ?>
</nav>
1
Sam Skirrow

あなたはwp_nav_menu()から完全に離れて代わりにwp_list_pages()を使うことができます。

詳細についてはコーデックスを参照してください、しかし私はこれがあなたが探しているものかもしれないと信じます。

http://codex.wordpress.org/Function_Reference/wp_list_pages

私はこの機能がページを出力することを理解しています。私がしようとしていたのは、メニューのように見せるためにCSSと組み合わせてこれを使用できるということです。私はこのコードを含むサンプルページを作りました:

    <?php
/*
* Template Name: Testing
*/
    ?>
    <link rel="stylesheet" type="text/css" href="http://nickyoungweb.com/Zip/wp-content/themes/THS2012/style.css" />
    <nav id="nav">
         <?php
            wp_list_pages( array(
                'title_li' => ''
            ));
         ?>
       <br style="clear: both; ">
    </nav>

このコードを含むスタイルシートにリンクしています。

    /**** WP LIST PAGES NAV *****/
    nav {  }
    nav li { list-style-type: none; float: left; }
    nav li a { width: 50px; height: 30px; background: #000; color: #fff; padding: 10px; margin: 2px; }
    nav li a:hover { background: #f00; color: #000; }
    nav ul li { display: none; }

これは、この関数でどのように機能させることができるかの非常に基本的な例です。

うまくいけば、これは私があなたに引き起こしたかもしれないどんな混乱でもきれいにするのを助けて、そしてまたそれがこの機能でどうやってされることができるかの考えをあなたに与える。

3
Nick Young