add login menu with submenu

时间:2015-08-31 作者:Vladimir Kondrachov

我需要添加“登录”到主导航菜单。带有子菜单“寄存器”(链接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;
}

1 个回复
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导航菜单,我认为“主菜单”是唯一与环境相关的东西。

相关推荐

用标准的干净文件替换NAV-menus.php文件?

我是一个自学成才的wordpress网站设计师,请原谅我的无知。我为一个客户开发的几个网站最近被一个印尼黑客组织破坏了(很有趣!)。客户端没有更新wordpress安装和其他一些危及安全的事情。遗憾的是,没有网站的清理备份。网络主机给了我一个包含恶意软件扫描结果的文本文件。看起来很多受影响的文件都是导航菜单。网站的php文件。文本文件中显示的扫描结果示例如下:“[主目录]/[网站文件夹名称]/wp includes/nav-menu.php:SL-php-INJECTOR-1-ejw.UNOFFICIAL