Rendre les pages WooCommerce accessibles uniquement aux utilisateurs connectés

11

J'ai un site Web utilisant WordPress et un site de commerce électronique utilisant WooCommerce. Je souhaite que ma boutique (et toutes ses pages) ne soit vue que par les utilisateurs connectés.

Par l'intermédiaire du plug-in User Access Manager , j'ai refusé l'accès à la page de la boutique, mais avec un lien direct vers un produit, etc., on peut néanmoins accéder à cette page particulière, même si l'utilisateur n'est pas connecté. connecté.

Comment puis-je rediriger les utilisateurs qui ne sont pas connectés vers une autre page s'ils tentent d'accéder à une page WooCommerce?

    
posée Alessandro 28.01.2014 - 23:05

2 réponses

21

Mettez ceci dans votre fichier 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'est-ce que cela fait?
Nous vérifions si un utilisateur non connecté souhaite voir une page WooCommerce et le redirigeons vers notre page d'accueil.

    
réponse donnée tfrommen 28.01.2014 - 23:13
7

Je viens de changer la redirection en

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

afin que les utilisateurs soient redirigés sur la page "Mon compte" s'ils ne sont pas connectés ou enregistrés.

    
réponse donnée Pierre 18.11.2015 - 12:28

Lire d'autres questions sur les étiquettes