Hacer que las páginas de WooCommerce sean accesibles solo para usuarios registrados

11

Tengo un sitio web con WordPress y un comercio electrónico con WooCommerce. Me gustaría que mi tienda (y todas sus páginas) sea vista solo por usuarios registrados.

A través del complemento User Access Manager , he denegado el acceso a la página de la tienda, pero con un enlace directo a un producto, etc. no obstante, se puede acceder a esa página en particular, incluso si el usuario no está iniciado sesión.

¿Cómo puedo redirigir a los usuarios que no han iniciado sesión a otra página si intentan acceder a una página de WooCommerce?

    
pregunta Alessandro 28.01.2014 - 23:05

2 respuestas

21

Ponga esto en su archivo functions.php :

function wpse_131562_redirect() {
    if (
        ! is_user_logged_in()
        && (is_woocommerce() || is_cart() || is_checkout())
    ) {
        // feel free to customize the following line to suit your needs
        wp_redirect(home_url());
        exit;
    }
}
add_action('template_redirect', 'wpse_131562_redirect');

¿Qué hace?
Verificamos si un usuario no registrado quiere ver una página de WooCommerce y lo redireccionamos a nuestra página de inicio.

    
respondido por el tfrommen 28.01.2014 - 23:13
7

Acabo de cambiar la redirección a

wp_redirect( site_url('my-account/') )

para que los usuarios sean redirigidos a la página "Mi cuenta" si no han iniciado sesión o no están registrados.

    
respondido por el Pierre 18.11.2015 - 12:28

Lea otras preguntas en las etiquetas