添加登录/注销和注册链接到特定的WordPress菜单


Adding Log in/out and register links to a Specific WordPress Menu

我想让我的用户能够登录/注销并在我的主菜单中注册。我在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 loginregister托管在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;
}

请记住,您必须启用用户注册才能正常工作。