Tornar as páginas do WooCommerce acessíveis somente para usuários logados

11

Eu tenho um site usando o WordPress e um e-commerce usando o WooCommerce. Eu gostaria que minha loja (e todas as suas páginas) fossem vistas apenas por usuários logados.

Por meio do plug-in User Access Manager , neguei acesso à página da loja, mas com um link direto para um produto, etc., pode-se acessar essa página em particular, mesmo que o usuário não seja logado.

Como eu posso redirecionar usuários, que não estão logados, para outra página se eles tentarem acessar uma página WooCommerce?

    
por Alessandro 28.01.2014 / 23:05

2 respostas

21

Coloque isso no seu arquivo 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');

O que isso faz?
Verificamos se um usuário não logado quer ver uma página do WooCommerce e redirecioná-lo para nossa página inicial.

    
por tfrommen 28.01.2014 / 23:13
7

Acabei de alterar o redirecionamento para

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

para que os usuários sejam redirecionados na página "Minha conta", caso não estejam conectados ou registrados.

    
por Pierre 18.11.2015 / 12:28