Redirección del área de inicio de sesión de WooCommerce al formulario de inicio de sesión predeterminado de WordPress

1 minuto de lectura

avatar de usuario
Razvan Cuceu

La página “Mi cuenta” de Woocommerce muestra un formulario de registro/inicio de sesión si el usuario no ha iniciado sesión, pero estoy tratando de usar la página predeterminada de inicio de sesión/registro de WordPress (wp-login.php) en su lugar.

¿Cómo puedo hacer que “/mi cuenta” redirija a “wp-login.php” si el usuario no ha iniciado sesión?

Gracias.

Normalmente, el rol de usuario “cliente” de Woocommerce no puede acceder al administrador de wordpress. Pero puedes usar una función empeñada en woocommerce_before_customer_login_form enganche con una condición mixta para redirigir al usuario al área de inicio de sesión clásica de wordpress, de esta manera:

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

El código va en el archivo function.php de su tema secundario activo (tema activo o en cualquier archivo de complemento).

Este código está probado y funciona.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad