如何向子主题中的wp_NAV_MENU添加标记

时间:2016-08-12 作者:Jérémy Debray

我正在用WordPress和Uncode 主题,我想添加<span> 标记到子主题中的主菜单(在“li”中,在“a”之后),我不知道怎么做。

我不想修改父主题,只需在wp_nav_menu 谁有theme_location, 值“primary”。

你有什么想法吗?也许有一个“步行者”(或其他)在functions.php 我的孩子主题?我不是PHP/WordPress codex的专家,所以你有解决方案吗?

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

这个wp_nav_menu() 函数具有大量参数,使自定义变得相当容易。我相信你特别想要的是after 将向列表中添加传递的字符串after 链接。示例如下所示:

wp_nav_menu( array(
    \'menu\'          => \'Main Menu\',
    \'container\'     => \'nav\',
    \'theme_location\'=> \'primary\',
    \'after\'         => \'<span></span>\',
) );
输出如下内容:

<nav>
    <ul>
        <li><a href="#">Text</a><span></span></li>
    </ul>
</nav>
或者,您可以使用wp_nav_menu_args 钩住functions.php 要修改主菜单的参数,请执行以下操作:

function modify_main_menu( $args ) {

    if( isset( $args[\'theme_location\'] ) && \'primary\' === $args[\'theme_location\'] ) {
        $args[\'after\'] = \'<span></span>\';
    }

    return $args;
}
add_filter( \'wp_nav_menu_args\', \'modify_main_menu\' );

相关推荐

WordPress中声明SplitMenuWalker::Walk($Elements,$max_Depth)时出现警告

我开始在WordPress网站上收到以下错误:警告:SplitMenuWalker::walk($elements,$max\\u depth)的声明应与/home/relati67/public\\u html/wp content/themes/mentis/inc/mega menu/split menu中的walk::walk($elements,$max\\u depth,$args)兼容。php第0行我不知道在这里该怎么办。我发现了一个具有类似内容的线程,但错误指向特定行(不是第0行),并且不