会员登录 您是新人?

   

QQ登录

会员注册

       

WP管理员之家

WordPress菜单函数wp_nav_menu有子菜单项自动添加has-children样式

最近在用WordPress建站过程中,用WordPress自带的菜单函数wp_nav_menu生成的菜单过程中,发现凡是带子菜单的菜单项默认并无特殊样式,这样就很不方便去区分有子菜单项还是无子菜单项的样式,搜索了一下Google,找到了一个不错的纯绿色的方法如下:

在模版文件functions.php中加入如下代码:

  1. /* Detect Wp_Nav_Menu has children */  
  2. function gtp_nav_menu_css_class( $css_class$item ) {  
  3.     global $wpdb;  
  4.     $has_children = $wpdb->get_var("SELECT COUNT(meta_id) FROM wp_postmeta WHERE meta_key='_menu_item_menu_item_parent' AND meta_value='" . $item->ID . "'");  
  5.     if ($has_children > 0) {  
  6.         array_push($css_class, 'has-children');  
  7.     }  
  8.     return $css_class;  
  9. }  
  10. add_filter( 'nav_menu_css_class', 'gtp_nav_menu_css_class', 10, 4 );  

保存退出以后,前台刷新会看到,菜单项凡是带子菜单的地方都会自动插入一个has-children的样式,很方便的去通过不同的样式来区分。

在线留言

您的昵称 *

您的邮箱 *

您的网站

评论内容

  1. 还没有任何评论,你来说两句吧

客服微信