WordPress开发仿制的时候往往有些东西并不能以传统的方式去折腾,比如今天要说的WordPress删除菜单标签,按照正常菜单结构div ul li是这样,但有的网站呢并不是这样结构,有的模板代码是a标签,不是li标签容器。所以在设置WordPress自定义菜单时,内容排版就出现了一些问题。

WordPress删除菜单标签


<?php
$menuParameters = array(
'container'    => false,
'echo'    => false,
'items_wrap' => '%3$s',
'depth'    => 0,
);
echo strip_tags(wp_nav_menu( $menuParameters ), '<a>' );
?>

WordPress删除菜单标签


<a><?php
 
echo strip_tags(wp_nav_menu(
        array('theme_location' => 'primary',
            'container_class' => 'user_menu',
            'echo' => false,
            'items_wrap' => '%3$s<div class="clear"></div>')
), '<a><div>');
?>
 
</a>

如果您想删除WordPress 菜单默认会输出一堆然并卵的 classes,您可以使用以下方法。

清理WordPress菜单中classes


function ruike_cleanup_nav_menu_class( $classes ) {
    return array_intersect($classes, array(
        'current-menu-item',
        'menu-item-has-children'
    ));
}
add_filter( 'nav_menu_css_class', 'ruike_cleanup_nav_menu_class' );

用以上代码就能解决WordPress删除菜单多余标签了,今天的教程就写到这。