我需要添加“登录”到主导航菜单。带有子菜单“寄存器”(链接http://www.vcanade.ca/register/)
用户登录后,“登录”必须通过子菜单“配置文件”(链接)更改为其用户名http://www.vcanade.ca/your-profile/) 和“注销”
有没有办法做到这一点?
到目前为止,我只通过添加功能来显示登录的用户名。php
add_filter( \'wp_nav_menu_items\', \'your_custom_menu_item\', 10, 2 );
function your_custom_menu_item ( $items, $args ) {
$current_user = wp_get_current_user();
if(!empty($current_user->user_login))
$items .= \'<li><a href="javascript:void(0)">\'.$current_user->user_login.\'</a></li>\';
return $items;
}
SO网友:James River
下面是一个简单的例子(我刚刚在我的网站上测试过):
add_filter( \'wp_nav_menu_items\', \'asv_add_usermenu\', 10, 2 );
function asv_add_usermenu( $items, $args ) {
if (is_user_logged_in() && $args->theme_location == \'primary-menu\') {
$items .= "<li class=\'sub-menu\'><a href=\'" . wp_logout_url() . "\'>Log Out</a></li>";
} elseif (!is_user_logged_in() && $args->theme_location == \'primary-menu\') {
$items .= "<li class=\'sub-menu\'> <a href=\'" . wp_login_url() . "\'>Log In</a></li>";
}
return $items;
}
“主菜单”文本来自此管理页面(主题将该菜单注册为的任何名称)。您的站点。com/wp管理/导航菜单。php它是左上框中以灰色斜体显示的菜单名之一。
我从http://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items和法典。wordpress。组织/功能\\u参考/wp\\u导航菜单,我认为“主菜单”是唯一与环境相关的东西。