在默认前端菜单中编辑菜单项的html

时间:2012-03-27 作者:SomewhereThere

我正在运行Multisite,并希望能够将菜单项附加到所有站点上的所有前端菜单。这应该适用于通过管理界面保存的菜单以及显示的默认菜单。

此代码适用于保存的菜单项,但不适用于默认菜单:

add_filter( \'wp_nav_menu_items\', \'your_custom_menu_item\', 10, 2 );

function your_custom_menu_item ( $items, $args ) {
    $items .= \'<li>my menu item</li>\';
    return $items;
}
So my question is, how can I achieve functionality similar to that in the code above for the default front end menu? 理想情况下,我能够为菜单项预加/附加生成的htmlregardless of how they were generated (保存的菜单/默认菜单)。

Alternatively, 任何关于WP如何生成默认菜单的信息都会很有帮助。

我可以说,wp\\u nav\\u menu\\u times过滤器甚至没有使用默认菜单触发。功能wp_nav_menu 在里面wp_includes/nav_menu_template.php 如果未找到菜单,则过滤器会提前返回(在大多数工作之前,包括应用过滤器)wp_get_nav_menu_object.

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

添加过滤器(“wp\\U page\\u menu”、“your\\u custom\\u menu\\u item”,10,2);

结束

相关推荐

Add_Filters()和Apply_Filter()有什么作用?

我有点困惑,为什么这不起作用-尽管必须说,我不太确定是什么apply_filters() 和add_filter 正在做,所以任何一般性的提示都会很好!我想要一个查询,在一个帖子页面上显示之前的五篇帖子。我正在发送当前帖子的日期,并希望应用一个过滤器,过滤出早于此的帖子。function sw_filter_posts_before( $where = \'\', $date) { $where .= \" AND post_date < \'\" . $date . \"