使WooCommerce页面仅对登录用户可访问

时间:2014-01-28 作者:Alessandro

我有一个使用WordPress的网站,还有一个使用WooCommerce的电子商务。我希望我的店铺(及其所有页面)只被登录用户看到。

通过用户访问管理器插件,我拒绝访问商店页面,但直接链接到产品等。即使用户未登录,也可以访问特定页面。

如果未登录的用户尝试访问WooCommerce页面,我如何将其重定向到其他页面?

3 个回复
最合适的回答,由SO网友:tfrommen 整理而成

把这个放进你的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\');
What does it do?
我们检查未登录的用户是否想查看WooCommerce页面,并将其重定向到我们的主页。

SO网友:Pierre

我刚将重定向更改为

wp_redirect( site_url(\'my-account/\') )
因此,如果用户未登录或注册,则会在“我的帐户”页面上重定向。

SO网友:Ilias Benetos

我会换成这个

wp_safe_redirect( wc_get_page_permalink( \'myaccount\' ) );
而不是

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

结束

相关推荐

order users with drag'n'drop?

有很多插件可以让你通过拖放来订购页面和/或帖子。是否有与订单用户类似的内容?如果没有,是否可以为此创建一个插件(即是否有足够的过滤器、操作等)?