在菜单中使用 UserPro 登录和注销 WordPress
Posted
技术标签:
【中文标题】在菜单中使用 UserPro 登录和注销 WordPress【英文标题】:WordPress login & logout with UserPro in menu 【发布时间】:2015-08-03 12:43:40 【问题描述】:我正在使用一个名为“UserPro”的插件。我还在菜单中使用了一个功能来显示“登录”或是否已登录“注销”。
function autov_add_loginout_navitem($items)
$login_item = '<li class="login">'.wp_loginout($_SERVER['REQUEST_URI'], false).'</li>';
$items .= $login_item;
return $items;
add_filter('wp_nav_menu_account_items', 'autov_add_loginout_navitem');
插件有一个短代码
<?php echo do_shortcode('[userpro template=login]'); ?>
如何在第一个代码中实现这一点?
(这是放在我的子主题的functions.php中)
【问题讨论】:
【参考方案1】:该短代码需要在页面中。创建一个页面并添加简码。从那里您可以链接到登录页面。注销链接将保持不变。
function autov_add_loginout_navitem($items)
$format = '<a href="%s">%s</a>';
$link = is_user_logged_in()
? sprintf($format, wp_logout_url(), 'Logout')
: sprintf($format, home_url('login'), 'Login');
$login_item = '<li class="login">'.$link.'</li>';
$items .= $login_item;
return $items;
add_filter('wp_nav_menu_account_items', 'autov_add_loginout_navitem');
上面的例子假设你已经创建了一个带有 slug login
的页面,并在那里添加了你的简码。请注意,wp_logout_url
函数可以将重定向链接作为参数,如果您想在注销后将用户发送到某个地方,则应指定该参数。
【讨论】:
【参考方案2】:我为此寻找了很长时间的解决方案,但我无法让上面的代码为我工作,所以如果你无法获得代码,我会将我的解决方案分享给需要快速修复的任何人上班:
为“登录”和“注销”创建一个页面,并将短代码 [userpro template=login] 添加到两个页面。
安装 Wordpress 插件“nav menu roles”。激活后,转到外观 > 菜单。将“登录”和“注销”页面添加到菜单中。
在“登录”菜单项上,将“显示模式”设置为“已注销的用户”。 将“注销”菜单项“显示模式”设置为“登录用户”。
当您的访问者在导航中单击登录时,他们将被引导至输入用户名和密码的页面。当他们点击注销时,他们将自动注销并返回您的主页。
【讨论】:
以上是关于在菜单中使用 UserPro 登录和注销 WordPress的主要内容,如果未能解决你的问题,请参考以下文章
菜单栏中的登录/注销字段不合适且不起作用(Wordpress)