限制woocommerce产品给某些顾客购买

时间:2017-06-02 10:31:54

标签: product membership restrictions wpml

我正在建立一个销售家庭用品的电子商务网站。我希望一些产品可以由普通访客购买,但有些产品(有很多折扣)仅限于某些会员(即批发商),这些产品会向每位访客展示,但是当常客访问“添加到购物车”时,它将重新指向会员注册表格,注明:只允许批发会员购买此商品。 我正在使用WPML构建一个woocomerce多语言网站。 请建议我应该为此项目使用的代码或插件。

非常感谢。

2 个答案:

答案 0 :(得分:0)

我首先来看看这个插件:

https://en-ca.wordpress.org/plugins/user-role-editor/

它允许您为特定的批发商创建新的用户角色。然后,我会添加一个自定义类别的产品,以分类您只希望批发会员可以使用哪些产品。有了这两条信息,你就可以这样做一个检查:

function custom_wholesale_add_to_cart_redirect(){
    global $post;
    $terms = get_the_terms( $post->ID, 'product_cat' );
    foreach ($terms as $term) {
        if('wholesale' == $term->slug){
            $user = wp_get_current_user();
            if ( !in_array('wholesale', (array)$user->roles) || !is_user_logged_in() ){
                wp_redirect('your-redirect-page');
                exit;
            }
        }
    }
}

add_action('woocommerce_add_to_cart', 'custom_wholesale_add_to_cart_redirect');

您正在检查当前的产品 - 如果它是批发产品的一部分。类别,然后检查当前用户 - 如果该用户不是'批发'会员 - 或未登录 - 重定向到您的页面。

答案 1 :(得分:0)

我今天必须找到解决方案,恕我直言,最好的方法是使用此插件: https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/

唯一的缺点是,免费版本是完全手动的(所有产品不能一次批量更改)。但是您可以阻止购买该产品,将其完全隐藏以及其他一些设置。

我使用https://wordpress.org/plugins/user-role-editor/创建用户类别。 (与其他答案一样)