2012-09-18 91 views
0

我想清楚地說明這個問題:我想使用「外觀>菜單」部分來管理主導航,並且能夠將第一級子導航拉到放置在頁面側欄中(櫻桃挑選,部分菜單)。我不想使用wp_list_pages或類似的東西。我希望能夠從「外觀」菜單中管理導航的兩個方面。有沒有辦法將WordPress菜單用於頁內子導航?

有沒有一種簡單的方法來做到這一點,而不是寫我自己的步行者?

回答

0

您可以在外觀>菜單中創建一個新菜單,並將其顯示在您想要使用<?php wp_nav_menu(array('menu' => 'Project Nav')); ?>的任何位置。你當然需要改變'Project Nav'你的新菜單的名字。

對功能完整的信息可以在食品在這裏找到:wp_nav_menu()

舉例來說,如果你有一個名爲子導航菜單菜單中,您可以使用:

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

剛落在模板文件中需要顯示菜單的整個php行,並且不要忘記將菜單的名稱更改爲新菜單的名稱。

我希望這是你正在尋找的。如果沒有,讓我們知道,我們會讓你朝着正確的方向前進。

+0

謝謝,但不是我正在尋找..我已經有一個「主導航」菜單設置..現在在子頁面上,我想引用該菜單,櫻桃只挑選側欄中的子頁面作爲內部頁面 – farinspace

+0

沒問題。我想我不完全明白你想要做什麼。 – AndyWarren

1

@ alibaster的解決方案工作,但確實需要多個導航菜單。如果你的目標是有從單一的菜單管理的所有菜單項,你可以使用絕對定位取決於您的佈局:

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

您可以使用「步行者」的說法來定製你的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/

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

0

我完全理解你的問題 - 儘管此線程已舊。我想知道你在解決這個問題上是否取得了成功。

我一直都在看這個問題。我已經瀏覽了數百個偉大的WordPress主題,非常棒。但他們沒有一個能很好地解決「邊欄菜單」問題。 list_pages ..很好,但是讓「活動父」不得不在側邊欄中顯示菜單有一些巨大的好處 - 而不僅僅是在頂部。

我會繼續研究這個。一種方法是使用wp_nav_menu兩次,一個用於頂部,另一個用於側邊欄 - 使用相同的「菜單」。但是使用css隱藏當前不活動的頂層項目。不是最好的方式 - 但仍然..這是一種方式;)

+0

這就是我們現在正在做的事情,兩次使用wp_nav_menu ..我們使用CSS來隱藏子菜單等......我們也使用自定義類來表示側邊欄和僅主要鏈接(這些可以是菜單編輯器中的每個鏈接添加)...另一種方法是簡單地創建兩個菜單並分別管理兩個菜單 – farinspace