我想清楚地說明這個問題:我想使用「外觀>菜單」部分來管理主導航,並且能夠將第一級子導航拉到放置在頁面側欄中(櫻桃挑選,部分菜單)。我不想使用wp_list_pages
或類似的東西。我希望能夠從「外觀」菜單中管理導航的兩個方面。有沒有辦法將WordPress菜單用於頁內子導航?
有沒有一種簡單的方法來做到這一點,而不是寫我自己的步行者?
我想清楚地說明這個問題:我想使用「外觀>菜單」部分來管理主導航,並且能夠將第一級子導航拉到放置在頁面側欄中(櫻桃挑選,部分菜單)。我不想使用wp_list_pages
或類似的東西。我希望能夠從「外觀」菜單中管理導航的兩個方面。有沒有辦法將WordPress菜單用於頁內子導航?
有沒有一種簡單的方法來做到這一點,而不是寫我自己的步行者?
您可以在外觀>菜單中創建一個新菜單,並將其顯示在您想要使用<?php wp_nav_menu(array('menu' => 'Project Nav')); ?>
的任何位置。你當然需要改變'Project Nav'你的新菜單的名字。
對功能完整的信息可以在食品在這裏找到:wp_nav_menu()
舉例來說,如果你有一個名爲子導航菜單菜單中,您可以使用:
<?php wp_nav_menu(array('menu' => 'Sub Nav Menu')); ?>
剛落在模板文件中需要顯示菜單的整個php行,並且不要忘記將菜單的名稱更改爲新菜單的名稱。
我希望這是你正在尋找的。如果沒有,讓我們知道,我們會讓你朝着正確的方向前進。
@ 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/
把任何你想要的這個小片段。我添加了「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
我完全理解你的問題 - 儘管此線程已舊。我想知道你在解決這個問題上是否取得了成功。
我一直都在看這個問題。我已經瀏覽了數百個偉大的WordPress主題,非常棒。但他們沒有一個能很好地解決「邊欄菜單」問題。 list_pages ..很好,但是讓「活動父」不得不在側邊欄中顯示菜單有一些巨大的好處 - 而不僅僅是在頂部。
我會繼續研究這個。一種方法是使用wp_nav_menu兩次,一個用於頂部,另一個用於側邊欄 - 使用相同的「菜單」。但是使用css隱藏當前不活動的頂層項目。不是最好的方式 - 但仍然..這是一種方式;)
這就是我們現在正在做的事情,兩次使用wp_nav_menu ..我們使用CSS來隱藏子菜單等......我們也使用自定義類來表示側邊欄和僅主要鏈接(這些可以是菜單編輯器中的每個鏈接添加)...另一種方法是簡單地創建兩個菜單並分別管理兩個菜單 – farinspace
謝謝,但不是我正在尋找..我已經有一個「主導航」菜單設置..現在在子頁面上,我想引用該菜單,櫻桃只挑選側欄中的子頁面作爲內部頁面 – farinspace
沒問題。我想我不完全明白你想要做什麼。 – AndyWarren