0

この質問を明確にしたい:「外観>メニュー」セクションを使用してメインナビゲーションを管理し、ページ内サイドバー(チェリーピック、メニューの一部)に配置するために第1レベルのサブナビゲーションをプルできるようにしたい)。使いたくないwp_list_pagesなど。「外観>メニュー」からナビゲーションの両方の側面を管理できるようにしたいと思います。

自分のウォーカーを書かずにこれを行う簡単な方法はありますか?

4

4 に答える 4

1

@alibaster のソリューションは機能しますが、複数のナビゲーション メニューが必要です。すべてのメニュー項目を 1 つのメニューから管理することが目標の場合は、レイアウトに応じて絶対配置を使用できます。

.menu-item {
    position:relative;
}
.menu-item .sub-menu {
    display:none;
}
.current-menu-ancestor .sub-menu {
    display:block;
    position:absolute;
    left:0;
    top:100px;
}

「walker」引数を使用して、wp_nav_menu 呼び出しの出力をカスタマイズできます。

http://codex.wordpress.org/Function_Reference/wp_nav_menu#Using_a_Custom_Walker_Function

http://wp.tutsplus.com/tutorials/creative-coding/understanding-the-walker-class/

于 2012-09-18T20:41:46.393 に答える
0

この小さなスニペットを好きな場所に置いてください。「if」条件を追加したので、メニューをまだ割り当てていない場合はコードが表示されません。

<?php 
if ( has_nav_menu( 'sub-menu' ) ) {
wp_nav_menu( array( 
'theme_location'  => 'sub-menu',
)); 
} ?>

これらを追加し続けたい場合は、「サブメニュー」という名前を好きなように変更できます。詳細については、http://codex.wordpress.org/Function_Reference/has_nav_menuをご覧ください。

于 2012-09-18T22:58:39.940 に答える
0

[外観] > [メニュー] で新しいメニューを作成し、 を使用して好きな場所に表示できます<?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>。もちろん、新しいメニューの名前である 'Project Nav' を変更する必要があります。

その関数に関する完全な情報は、ここのコーデックスにあります: wp_nav_menu()

たとえば、Sub Nav Menu という名前のメニューがある場合は、次のように使用します。

<?php wp_nav_menu( array('menu' => 'Sub Nav Menu' )); ?>

メニューを表示したいテンプレート ファイルの php 行全体をドロップするだけで、メニューの名前を新しいメニューの名前に変更することを忘れないでください。

これがあなたが探していたものであることを願っています。そうでない場合は、お知らせください。正しい方向に進みます。

于 2012-09-18T18:28:04.990 に答える