个性化阅读
专注于IT技术分析

WordPress wp_nav_menu()定制和过滤

晚上快乐, 我试图使用wp_nav_menu()过滤WordPress的一些默认元素, 并尝试根据我的样式表添加元素-请参考以下有关用法和预期的代码详细信息。

函数调用:

<nav class="demo-navigation mdl-navigation mdl-color--blue-grey-800">
 <?php wp_nav_menu(); ?>
</nav>

当前结果:

<div class="menu-backend-menu-container">
        <ul id="menu-backend-menu" class="menu">
            <li id="menu-item-566" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-529 current_page_item menu-item-566">
                <a href="https://www.zony.ooo/users/data/" aria-current="page" data-ps2id-api="true">Data</a>
            </li>
            <li id="menu-item-571" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-571">
                <a href="http://www.zone.ooo/users/blog/" data-ps2id-api="true">Blog</a>
            </li>

预期结果

<nav class="demo-navigation mdl-navigation mdl-color--blue-grey-800">
            <a class="mdl-navigation__link" href="https://www.zony.ooo/users/data/"><i class="mdl-color-text--blue-grey-400 material-icons" activerole="presentation">data</i>Data</a>
            <a class="mdl-navigation__link" href="https://www.zony.ooo/users/blog/"><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">blog</i>Blog</a>
</nav>

它确实尝试了以下选项, 但结果错误。任何帮助将不胜感激。

wp_nav_menu(array( 'menu'            => '', 'container'       => 'a', 'container_class' => '', 'container_id'    => '', 'menu_class'      => 'mdl-navigation__link', 'menu_id'         => '', 'echo'            => true, 'fallback_cb'     => 'wp_page_menu', 'before'          => '', 'after'           => '', 'link_before'     => '', 'link_after'      => '', 'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>', 'item_spacing'    => 'preserve', 'depth'           => 0, 'walker'          => '', 'theme_location'  => ''
                ));

#1


你可以为此使用助行器菜单。 https://developer.wordpress.org/reference/classes/walker_nav_menu/。要添加类, 可以将其添加到walker代码中。


#2


删除此:

<nav class="demo-navigation mdl-navigation mdl-color--blue-grey-800">
 <?php wp_nav_menu(); ?>
</nav>

替换为:

$defaults = array(
                'theme_location'  => 'YOUR MENU THEME LOCATION', 'container'       => 'nav', 'container_class' => 'demo-navigation mdl-navigation mdl-color--blue-grey-800', 'echo'            => false, 'fallback_cb'     => false, 'items_wrap'      => '%3$s', 'depth'           => 0, );
                echo wp_kses( wp_nav_menu( $defaults ), '<nav><a>' );

编辑

我刚刚看到你具有带有属性的i标签。

你将必须按照之前的建议使用助行器(或者JS或jQuery, 但这是另一个作用域。)

赞(0)
未经允许不得转载:srcmini » WordPress wp_nav_menu()定制和过滤

评论 抢沙发

评论前必须登录!