На странице «Моя учетная запись» Woocommerce отображается форма регистрации / входа, если пользователь не вошел в систему, но вместо этого я пытаюсь использовать страницу входа / регистрации WordPress по умолчанию (wp-login.php).
Как я могу сделать перенаправление / my-account на wp-login.php, если пользователь не вошел в систему?
Спасибо.
Обычно пользовательская роль пользователя Woocommerce не может получить доступ к администратору WordPress. Но вы можете использовать функцию, подключенную в woocommerce_before_customer_login_form
подключить со смешанным условием, чтобы перенаправить пользователя в классическую область входа в WordPress, таким образом:
add_action( 'woocommerce_before_customer_login_form', 'redirect_customer_login_access');
function redirect_customer_login_access() {
// Here the conditions (woocommerce my account pages and unlogged user)
if( is_account_page() && !is_user_logged_in()){
// Define here the redirection after login (optional)
$redirection_after = site_url( '/shop/' );
// Redirecting to WordPress login area
wp_redirect( wp_login_url( $redirection_after ) );
// always use exit after wp_redirect() function.
exit;
}
}
Код находится в файле function.php вашей активной дочерней темы (активной темы или в любом файле плагина).
Этот код протестирован и работает.
Других решений пока нет …