因此,根据您的评论:
wp_nav_menu
是我现在使用的。但现在我必须根据特定条件添加“主页”菜单项
我将提出一个解决方案,允许您根据任意条件,使用wp_nav_menu_items
过滤器(see tutorial here):
<?php
function wpse45802_add_nav_menu_home_link( $items, $args ) {
$home_link = \'\';
if ( INSERT CONDITIONALS HERE ) {
// Determine menu item class
$home_link_class = ( is_front_page() ? \' class="current-menu-item"\' : \'\' );
// Build home link markup
$home_link = \'<li\' . $home_link_class . \'>\';
$home_link .= $args->before;
$home_link .= \'<a href="\' . home_url() . \'">\';
$home_link .= $args->link_before . \'Home\' . $args->link_after;
$home_link .= \'</a>\';
$home_link .= $args->after;
$home_link .= \'</li>\';
}
// Merge home link menu item with nav menu items
$modified_items = $home_link . $items;
// Return the result
return $modified_items;
}
add_filter( \'wp_nav_menu_items\', \'wpse45802_add_nav_menu_home_link\', 10, 2 );
?>
如果需要进一步限制过滤器,可能只需过滤某些
theme_location
输出,让我知道,我会更新。另外,如果你能描述你的实际条件,我也会添加这些条件。