我正在尝试使用过滤器添加菜单项。
以下是完整功能
function new_nav_menu_items($items) {
$loginLink = \'<li id="menu-item-login" class="menu-item menu-item-type-post_type menu-item-object-page "><a href="\'.wp_login_url().\'">Login</a></li>\';
$resgisterLink = \'<li id="menu-item-register" class="menu-item menu-item-type-custom menu-item-object-custom top-menu-signup"><a href="javascript:void(0);" data-toggle="modal" data-target="#myModal">Subscribe</a></li>\';
// add the home link to the end of the menu
if(is_user_logged_in())
{
global $current_user;
wp_get_current_user();
//$current_user->ID;
$user_firstname =get_user_meta($current_user->ID, \'first_name\', true);
$user_lastname =get_user_meta($current_user->ID, \'last_name\', true);
$editProfile = \'<li id="menu-item-119" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-119 user-name"><a class="user-name-menu" href="javascript:void(0)"><i class="icon-admin-user"></i>\'.$user_firstname.\' \'.$user_lastname.\'</a>
<ul class="sub-user-menu">
<li><a href="\'.home_url(\'edit-profile\').\'"><i class="icon-edit"></i>Edit Profile</a></li>
<li style="margin-bottom: 10px;"><a href="\'.wp_logout_url().\'"><i class="icon-logout"></i>Logout</a></li>
</ul>
</li>\';
$items = $items. $editProfile;
}
else
{
$items = $items . $loginLink . $resgisterLink;
}
return $items;
}
// to handle login/logout links on the home page header menu
add_action( \'init\', \'nothing_register_menus\' );
function nothing_register_menus()
{
is_user_logged_in();
add_filter( \'wp_nav_menu_items\', \'new_nav_menu_items\', 10, 2 );
}
登录后,“;is\\u user\\u logged\\u in()”中;始终为false,但在登录状态下刷新页面后,它会正确显示登录。