这个wp_nav_menu_items
过滤器有一个通过的辅助参数:$args
. 我们需要做的是设置过滤器,通过传递优先级来接受第二个参数10
和参数的数量2
:
add_filter( \'wp_nav_menu_items\', \'my_counter_nav_menu\', 10, 2 );
现在,我们正在传递args-如果我们仔细观察它所包含的内容,就会看到以下对象:
stdClass Object
(
[menu] => Menu Name
[container] => nav
[container_class] =>
[container_id] => mainNav
[menu_class] => menu
[menu_id] =>
[echo] => 1
[fallback_cb] => wp_page_menu
[before] =>
[after] =>
[link_before] =>
[link_after] =>
[items_wrap] => <ul id="%1$s" class="%2$s">%3$s</ul>
[depth] => 0
[walker] =>
[theme_location] =>
)
因此,如果我们想在您的函数中使用,我们可以针对
$args->menu
或
$args->theme_location
:
if( \'Menu Name\' === $args->menu ) {
/* .. Run Code Here .. */
}
或针对位置:
if( \'primary-menu\' === $args->theme_location ) {
/* .. Run Code Here .. */
}