如果用户未登录woocommerce,则重定向

时间:2014-02-09 16:57:10

标签: php wordpress redirect woocommerce product

我正在为想要将某些产品重定向到登录页面的客户创建一个wordpress网站。我已成功重定向整个商店页面等。但是,我只需要重定向某些产品......

这是我尝试过的,但它会将每个产品重定向到登录页面:

if( !is_user_logged_in() && $product_id = 7854 ) {
    wp_redirect('my-site-url');
}

我也尝试过:

if( !is_user_logged_in() && is_product(7854))  {
    wp_redirect('my-site-url');
    exit;
}

并再次将所有产品重定向到登录页面。

我在这里遗漏了什么吗?我们将非常感谢您的想法。

1 个答案:

答案 0 :(得分:1)

从概念上讲,您使用第二个片段就在正确的轨道上。

  • 你必须使用exit();在wp_redirect()调用之后

但是,查看Woocommerce文档,is_product()不接受任何参数。这意味着在is_product(7854)中传递'7854'对函数没有意义。它返回一个布尔值(true | false),取决于您是在查看单个产品,而不管是哪个产品。

查看is_product_tag()的文档,我认为如果您替换了可行的is_product_tag( 'your-product-slug' )