Пользователи не должны видеть дефолтную форму авторизации-регистрации на странице myaccount. Должны авторизовываться через поп-ап форму, которая в шапке сайта.
Если нажать на иконку человека, то зарегистрированные попадут в свой кабинет, а незарегистрированным открывается форма поп-ап.
add_action('wp_logout','auto_redirect_after_logout');
function auto_redirect_after_logout(){
wp_redirect( home_url() );
exit();
}
Использую редирект на домашнюю страницу при выходе из аккаунта, но это не исключает попадание пользователя на дефолтную форму авторизации - если например человек выйдет из аккаунта, и нажмет потом "назад" на просмотренную страницу.
Пробовал сделать редирект из аккаунта всем незарегистрированным пользователям.
add_action( 'template_redirect', 'wish_custom_redirect' );
function wish_custom_redirect() {
global $wp;
if (!is_user_logged_in() && is_page('my-account') ) {
wp_redirect( '/' );
exit;
}
}
Но форма восстановления пароля тоже тогда редиректит и не открывается, она дочерняя для страницы аккаунта, и человек не сможет восстановить пароль.
Я пробовал вот так
add_action( 'template_redirect', 'wish_custom_redirect' );
function wish_custom_redirect() {
global $wp;
if (!is_user_logged_in() && is_page('my-account') && !is_page('my-account/lost-password/') ) {
wp_redirect( '/' );
exit;
}
}
Но не работает, все равно редиректит. Как правильно ее исключить, или какой еще тут выход?