1wordpress增加模板選單方法
在functions。php檔案加上以下程式碼,
if(function_exists(‘register_nav_menus’)){
register_nav_menus(
array(
‘header-menu’ => __( ‘選單名字A’ ),
‘footer-menu’ => __( ‘選單名字B’ ),
‘sider-menu’ => __(‘選單名字C’)
)
);
}
最簡單的呼叫方式,前臺加上下面程式碼
<?php wp_nav_menu; ?>
也可以對這個選單進行更多的控制,程式碼如下
<?php wp_nav_menu(
array(
‘theme_location’ => ‘’ //指定顯示的導航名,如果沒有設定,則顯示第一個
‘menu’ => ‘header-menu’,
‘container’ => ‘nav’, //最外層容器標籤名
‘container_class’ => ‘primary’, //最外層容器class名
‘container_id’ => ‘’,//最外層容器id值
‘menu_class’ => ‘sf-menu’, //ul標籤class
‘menu_id’ => ‘topnav’,//ul標籤id
‘echo’ => true,//是否列印,預設是true,如果想將導航的程式碼作為賦值使用,可設定為false
‘fallback_cb’ => ‘wp_page_menu’,//備用的導航選單函式,用於沒有在後臺設定導航時呼叫
‘before’ => ‘’,//顯示在導航a標籤之前
‘after’ => ‘’,//顯示在導航a標籤之後
‘link_before’ => ‘’,//顯示在導航連結名之後
‘link_after’ => ‘’,//顯示在導航連結名之前
‘items_wrap’ => ‘
- %3$s
‘depth’ => 0,////顯示的選單層數,預設0,0是顯示所有層
‘walker’ => ‘’// //呼叫一個物件定義顯示導航選單 ));
?>
2如何刪除選單選擇器沉餘
預設Wordpress選單生成的Html程式碼
程式碼在選單列表中li有多個Id,也有多個Class的類,而且定義整個選單樣式,根本不需要這麼多選擇器,下面介紹刪除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’)) : ‘’; //刪除當前選單的四個選擇器
}
效果如下: