2016-06-11 52 views
0

好吧,所以我找到了这个代码,我修改了这个代码,以适应我的需要。顺便说一句,我使用的WooCommerce,这也解释了“WC”中的一些功能的调用:WordPress添加登录/注销菜单编辑器

//Add login/logout link to primary menu 
add_filter('wp_nav_menu_items', 'add_loginout_link', 10, 2); 
function add_loginout_link($items, $args) { 
    if (is_user_logged_in() && $args->theme_location == 'primary') { 
     $items .= '<li><a href="'. wc_get_endpoint_url('customer-logout', '', wc_get_page_permalink('myaccount')) .'">Log Out</a></li>'; 
    } 
    elseif (!is_user_logged_in() && $args->theme_location == 'primary') { 
     $items .= '<li><a href="'. wc_get_page_permalink('myaccount') .'">Log In</a></li>'; 
    } 
    return $items; 

这增加了登录/注销菜单项,和他们很好地工作。但是,他们现在被困在菜单的末尾。我希望能够使用wp-admin中的编辑器编辑位置。我想到的解决方案可能只是创建登录页面和注销页面,并使用标题位置重定向到其中的代码行以获取正确的URL,但我看到的问题是总会有一个登录项并注销,无论用户目前处于什么状态。是否可能有办法根据登录状态动态地添加站点范围的CSS规则来隐藏相反的菜单项?

还是有更简单的方法吗?

回答

1

不是最好的主意,但你可以尝试。 像“风俗通”

注销

http://www.example.com/account/customer-logout/

登录创建可湿性粉剂管理员菜单部分新菜单项,在

http://www.example.com/account/

并添加自定义类向WordPress菜单项来管理可见性 例如,您将在页面主体上看到“登录”类,并隐藏“登录”链接或将其更改为“帐户”相同的链接。

+0

按类讲,我假设你是指CSS类?如何根据用户的登录状态动态修改CSS? –

+0

CSS类。 添加这样的类[链接](http://sevenspark.com/how-to/how-to-add-a-custom-class-to-a-wordpress-menu-item) 你可以在CSS上操作(隐藏LogOut或登录) 例如:登录项目添加类“用户 - 客人”和在CSS添加。在.user-guest {display:none;}登录用户将不会看到登录按钮 – dkruchok

+0

哦哇,但我并没有意识到,当用户登录时,主体会自动添加一个.logged-in类。这真是不可思议。好的,这听起来像是最简单的方法。我也不确定这是否是最好的想法,但我认为它比我的头重定向的想法更好 –