『walker』的使用
此處略,在設置bootstrap用到,請參考其他文檔(還沒寫,後續會完成,可以按照bootstrap+wordpress+菜單查找相關文檔)。
<!--?php
wp_nav_menu( array(
'theme_location'=-->'menu-1',
'items_wrap' => '
<ul id="%1$s" class="%2$s" tabindex="0">%3$s</ul>
',
'depth' => 0
));
?>
如何除ul標籤
<!--?php
wp_nav_menu( array(
'theme_location'=-->'menu-1',
'items_wrap' => '%3$s',
'depth' => 0
));
?>
插入文本
包括「鏈接」前後插入文本和「鏈接文本」前後插入文本。
其實不止是文本,也可以輸出html標籤,所以靈活使用這四個參數,可以打造出別具一格的導航菜單。
<!--?php
wp_nav_menu( array(
'theme_location'=-->'menu-1',
'container' => '',
'menu_class' => 'menuclass', //ul節點class值
'menu_id' => 'menuid', //ul節點id值
'before' => 'before',
'after' => 'after',
'link_before' => 'link_before',
'link_after' => 'link_after',
));
?>
對應
<ul id="menuid" class="menuclass">
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-5">before<a href="http://localhost/jijianzhuti">link_before首頁link_after</a>after</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6">before<a href="http://localhost/jijianzhuti/?page_id=2">link_before示例頁面link_after</a>after</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7">before<a href="http://localhost/jijianzhuti/?cat=1">link_before未分類link_after</a>after</li>
</ul>
去除或保留菜單多餘類名:
重要說明:在functions.php,可以通過add_filter去除或保留菜單多餘類名:
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1);
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1);
function my_css_attributes_filter($var) {
return is_array($var) ? array_intersect($var, array('current-menu-item','current-post-ancestor','current-menu-ancestor','current-menu-parent')) : '';
}