Добавление ссылок входа/выхода и регистрации в определенное меню WordPress

Я хочу дать своим пользователям возможность входить/выходить из системы и регистрироваться в моем основном меню. Я добавил приведенный ниже фрагмент в свой functions.php, чтобы правильно отображать ссылки входа/выхода для моих пользователей в расположении меню: первичный. Я хочу добавить ссылку для регистрации, аналогичную входу/выходу, которая будет скрыта для вошедших в систему пользователей. Любые идеи?

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;
}

person Abe    schedule 31.10.2015    source источник


Ответы (1)


Следует отметить, что 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;
}

Помните, что вам нужно включить регистрацию пользователей, прежде чем это заработает.

person Samuel Asor    schedule 31.10.2015