我想让我的用户能够登录/注销并在我的主菜单中注册。我在functions.php中添加了下面的片段,以便在菜单位置适当地向我的用户显示登录/注销链接:primary。我想添加类似于登录/注销的注册链接,该链接将为登录用户隐藏。有什么见解吗?
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="'. wp_logout_url() .'">Log Out</a></li>';
}
elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
$items .= '<li><a href="'. site_url('wp-login.php') .'">Log In</a></li>';
}
return $items;
}
您应该注意的是Wordpress login
和register
托管在wp-login.php
文件中
此外,还有一个变量$registration_url
,只有在您从设置面板启用用户注册时才会调用它。因此,您可以这样做:
// Add your filter
function add_registration_link($items, $args){
if (is_user_logged_in() && $args->theme_location == 'primary') {
$items .= '';
}
elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
$items .= $registration_url;
}
return $items;
}
请记住,您必须启用用户注册才能正常工作。