【问题标题】:Restrict woocommerce product to certain customer to buy将woocommerce产品限制为特定客户购买
【发布时间】:2017-11-03 17:42:25
【问题描述】:

我正在建立一个销售家庭用品的电子商务网站。我希望一些产品由常客购买,但有些产品(有很多折扣)仅限于某些会员资格(即批发商),这些产品会显示给每个访客,但是当常客点击“添加到购物车”时,它会重定向到带有注释的会员注册表格:只有批发会员才能购买此商品。 我正在使用 WPML 构建一个 woocomerce 多语言网站。 请建议我应该用于此项目的代码或插件。

非常感谢。

【问题讨论】:

    标签: product membership restrictions wpml


    【解决方案1】:

    我会先看看这个插件:

    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');
    

    您正在检查当前产品 - 如果它属于“批发”类别,则检查当前用户 - 如果该用户不是“批发”成员 - 或未登录 - 重定向到您的页面。

    【讨论】:

    • 我建议改用 woocommer_is_purchasable 过滤器。这将隐藏产品页面上的添加到购物车按钮。效率更高。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多