如何修改wp_NAV_MENU中最后一个元素的“After”

时间:2011-03-01 作者:Jeff

当使用wp\\u nav\\u菜单时,如何使其在列表的最后一个元素上不显示“after”=>?

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

你可以用CSS隐藏它。例如,如果after 看起来像:

<?php wp_nav_menu(array(\'after\' => \'<span>|</span>\')); ?>
然后您的css:

.menu-item-num span { display: none; }

SO网友:Jeff
$(\'#menu-top-menu-1\').children().last().each( function(){
    var endHtml = $(this).html().replace(\'<text you want to replace>\',\'<text to replace it with>\');         
    $(this).html(endHtml);
});
SO网友:Rarst

虽然这可以用JS来完成,但使用起来可能更整洁wp_nav_menu 过滤器,在返回/回显之前通过该过滤器传递菜单的最终输出。

SO网友:Ryan Gibbons

在另一个答案上找到了这个

https://wordpress.stackexchange.com/a/105562/105 , 但这个问题在搜索时首先出现;因此,为未来的搜索者提供交叉链接

add_filter(\'wp_nav_menu\',\'replace_last_nav_item\',100,2);
function replace_last_nav_item($items, $args) {
  return substr_replace($items, \'\', strrpos($items, $args->after), strlen($args->after));
}

结束

相关推荐

Thesis -style Navigation

我正在研究一个主题,我希望用户能够像论文一样选择要在主题选项页面中显示的页面。我已经在谷歌上搜索了几个小时的逆向工程论文,但还没有找到一个很好的解决方案。我想知道是否有人做过这件事或看过教程。