首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wordpress wp_nav_menu之前和之后

wordpress wp_nav_menu之前和之后
EN

Stack Overflow用户
提问于 2017-01-12 06:01:28
回答 1查看 1.8K关注 0票数 1
代码语言:javascript
复制
              <nav>
                <ul class="menu sf-js-enabled">
                    <li class="item1">
                        <span><a href="#" title="">menuitem-1</a></span>
                        <ul>
                            <li><a href="#">submenu-1-1</a></li>
                            <li><a href="#">submenu-1-2</a></li>
                        </ul>
                    </li>
                    <li class="item2">
                        <span><a href="#" title="">menuitem-2</a></span>
                        <ul>
                            <li><a href="#">submenu-2-1</a></li>
                            <li><a href="#">submenu-2-2</a></li>
                            <li><a href="#">submenu-2-3</a></li>
                            <li><a href="#">submenu-2-4</a></li>
                        </ul>
                    </li>
                </ul>
            </nav>

我正在尝试制作一个自定义的wordpress菜单,但我对此代码有问题。正如您所看到的,在menuitem-1和menuitem-2之前有一个span标记,还有一个close span标记,但是没有子菜单项。

我试着这样做:

代码语言:javascript
复制
<?php wp_nav_menu(array('container' => 'nav', 'container_class' => ' ', 'theme_location' => 'primary', 'menu_class' => 'menu sf-js-enabled', 'before' => '<span>', 'after' => '</span>') );?>

但是如果我使用这种方法,子菜单项周围也有span标记,但我不需要这些标记。

对此有什么解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-12 16:01:22

我创建了一个自定义类"my_nav_walker“插入到我的类中,并从function.php -walker-nav-menu.php中修改了原始类的以下代码行

现在可以正常工作了!

代码语言:javascript
复制
$item_output = ($depth == 0 ? $args->before . '<span>' : $args->before); //MODIFIED LINE original --> $item_output = $args->before;
$item_output .= '<a'. $attributes .'>';
$item_output .= $args->link_before . $title . $args->link_after;
$item_output .= '</a>';
$item_output .= ($depth == 0 ? $args->after . '</span>' : $args->after); //MODIFIED LINE original --> //$item_output .= $args->after;

然后把这个放到我的头上

代码语言:javascript
复制
<?php 
$walker = new my_nav_walker;
wp_nav_menu(array(
'container' => 'nav',
'container_class' => ' ',
'theme_location' => 'primary',
'menu_class' => 'menu sf-js-enabled',
'walker' => $walker));
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41601488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档