2017-04-18 182 views
0

我注意到,如果您將子頁面添加到主菜單中的頁面,Wordpress會自動將其放入名爲.children的嵌套列表中。當在主菜單上懸停在父頁面上時,會顯示「下拉」菜單。禁用Wordpress主菜單下拉菜單(子菜單)

基本上,我想禁用這個,我不能在CMS內部做到這一點。我有一個菜單顯示頁面邊欄中的子頁面,所以我沒有用它。

任何想法?

我父主題的functions.php有菜單設置是這樣的:

function html5blank_nav() 
{ 
    wp_nav_menu(
    array(
     'theme_location' => 'header-menu', 
     'menu'   => '', 
     'container'  => 'div', 
     'container_class' => 'menu-{menu slug}-container', 
     'container_id' => '', 
     'menu_class'  => 'menu', 
     'menu_id'   => '', 
     'echo'   => true, 
     'fallback_cb'  => 'wp_page_menu', 
     'before'   => '', 
     'after'   => '', 
     'link_before'  => '', 
     'link_after'  => '', 
     'items_wrap'  => '<ul>%3$s</ul>', 
     'depth'   => 0, 
     'walker'   => '' 
     ) 
    ); 
} 

所以這是非常標準。我無法在子菜單上找到很多信息。我認爲這將是一個共同的要求,它是開/關。

我想我可以創建一個自定義菜單外觀>菜單但我寧願遠離那個,如果可能的話,因爲它可能是一個痛苦的管理未來的額外網頁?

希望有人能幫助! :)

+0

看起來您的當前菜單設置是自動將頁面添加到菜單。如果您啓用了自定義菜單功能,則可以通過簡單的取消選中/複選框來決定是否將未來頁面自動添加到菜單或不是... – Mohsin

+2

如果您喜歡通過主題保留它,如上所述。在上面的代碼中,你有這行**'depth'=> 0 **,這裏的零代表所有的級別,你可以將它設置爲1使它成爲頂級頁面級別... – Mohsin

+0

謝謝,這很好。我不知道'深度'做了什麼!我決定要隱藏我的主導航欄中的「主頁」鏈接。所以,也許一個自定義菜單可能是一種方式,而不是考慮到這一點? – user1406440

回答

1

要禁用出現在菜單子頁面,在你的代碼,更改depth => 0爲1

因此,這將成爲:

function html5blank_nav() 
{ 
    wp_nav_menu(
    array(
     'theme_location' => 'header-menu', 
     'menu'   => '', 
     'container'  => 'div', 
     'container_class' => 'menu-{menu slug}-container', 
     'container_id' => '', 
     'menu_class'  => 'menu', 
     'menu_id'   => '', 
     'echo'   => true, 
     'fallback_cb'  => 'wp_page_menu', 
     'before'   => '', 
     'after'   => '', 
     'link_before'  => '', 
     'link_after'  => '', 
     'items_wrap'  => '<ul>%3$s</ul>', 

'深度'=> 1,

 'walker'   => '' 
     ) 
    ); 
} 

它將頁面限制爲只有頂層頁面,子頁面被忽略而不是廣告代碼自動生成菜單。