How to hide/disable the add to cart button based on product type

If you’re looking for a way to restrict your wholesale user from purchasing products with a specific product type, for example, you want to prevent them from purchasing simple products, variable products or even product bundles, you can do that by using a custom snippet.

The snippet below is an example to hide the add to cart button on the product and product catalog page. It checks if the logged in user is a wholesale customer based on the wholesale role key and if it is a simple product. Then it hides/disables the add to cart button.

 

add_action('wp','wwp_remove_add_to_cart_on_product_type', 99);


function wwp_remove_add_to_cart_on_product_type() {
  global $current_user;
  $product = wc_get_product();

  if (isset($current_user) && class_exists('WWP_Wholesale_Roles')) {
     $wwp_wholesale_roles = WWP_Wholesale_Roles::getInstance();
     $wwp_wholesale_role = $wwp_wholesale_roles->getUserWholesaleRole();

  //Checks if the logged in user is wholesale_customer
  if (!empty($wwp_wholesale_role) && in_array('wholesale_customer', $wwp_wholesale_role)) {

  // Change the product type, in this example it is 'simple' for simple products
  if ( $product instanceof WC_Product && $product->is_type( 'simple' ) ) {
  // This filter will disable the add to cart button
    add_filter( 'woocommerce_is_purchasable', '__return_false');
    }
  }
  }
}

 

If you wish to hide these products from your WooCommerce Wholesale Order Form, you’ll need to do an additional step to hide them. You can go to  WooCommerce > Settings > Wholesale Ordering > Filters, and add the products in the Exclude Product Filter.

 

Exclude Product Filter, WooCommerce Wholesale Order Form

Solve The Big Three Problems With Wholesaling In WooCommerce

Add wholesale pricing to products   Streamline your ordering   Register & manage wholesale customer

Explore The Plugin Suite  

[data-image-id='gourmet_bg']
[data-image-id='gourmet_bg']
[data-image-id='gourmet_bg']
[data-image-id='gourmet_bg']
[data-image-id='gourmet_bg']
[data-image-id='gourmet_bg']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']
[data-image-id='gourmet']