1wordPress/ target=_blank class=infotextkey>WordPress增加模板菜單方法
在functions.php文件加上以下代碼,
if(function_exists('register_nav_menus')){
register_nav_menus(
array(
'header-menu' => __( '菜單名字A' ),
'footer-menu' => __( '菜單名字B' ),
'sider-menu' => __('菜單名字C')
)
);
}
最簡(jiǎn)單的調(diào)用方式,前臺(tái)加上下面代碼
<?php wp_nav_menu; ?>
也可以對(duì)這個(gè)菜單進(jìn)行更多的控制,代碼如下
<?php wp_nav_menu(
array(
'theme_location' => '' //指定顯示的導(dǎo)航名,如果沒有設(shè)置,則顯示第一個(gè)
'menu' => 'header-menu',
'container' => 'nav', //最外層容器標(biāo)簽名
'container_class' => 'primary', //最外層容器class名
'container_id' => '',//最外層容器id值
'menu_class' => 'sf-menu', //ul標(biāo)簽class
'menu_id' => 'topnav',//ul標(biāo)簽id
'echo' => true,//是否打印,默認(rèn)是true,如果想將導(dǎo)航的代碼作為賦值使用,可設(shè)置為false
'fallback_cb' => 'wp_page_menu',//備用的導(dǎo)航菜單函數(shù),用于沒有在后臺(tái)設(shè)置導(dǎo)航時(shí)調(diào)用
'before' => '',//顯示在導(dǎo)航a標(biāo)簽之前
'after' => '',//顯示在導(dǎo)航a標(biāo)簽之后
'link_before' => '',//顯示在導(dǎo)航鏈接名之后
'link_after' => '',//顯示在導(dǎo)航鏈接名之前
'items_wrap' => '<ul id="%1$s">%3$s</ul>',
'depth' => 0,////顯示的菜單層數(shù),默認(rèn)0,0是顯示所有層
'walker' => ''// //調(diào)用一個(gè)對(duì)象定義顯示導(dǎo)航菜單 ));
?>
2如何刪除菜單選擇器沉余
默認(rèn)Wordpress菜單生成的html代碼

代碼在菜單列表中l(wèi)i有多個(gè)Id,也有多個(gè)Class的類,而且定義整個(gè)菜單樣式,根本不需要這么多選擇器,下面介紹刪除Wordpress沉余選擇器的方法,代碼如下
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); //刪除Class選擇器
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); //刪除Id選擇器
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')) : ''; //刪除當(dāng)前菜單的四個(gè)選擇器
}
效果如下:
