Hi @magicsun ,
For your information,
1. If you want to keep your product visible but not purchasable to your customers, you can try a plugin called WPC Product Timer for WooCommerce from our team. It allows you to set a product as Unpurchasable (the product is visible but the Add to cart button is disabled) or Invisible(it will be hidden from shop and search page, but you can still add it to a bundle in the setting).
However, to enable this function for individual products, you have to purchase the Premium version. The free one allows system level settings only. You might consider this because our plugin is very useful for setting sales price, running promotion campaigns with complex time conditional. Refer to its feature here.
2. If you want to let customers buy a set of 3, whether it means buying at least 3 of a particular bundled item and also 3 for the whole, or buying with any combination of the item as long as the total quantity is 3, then kindly set it as below:
– Change all the quantity in the box next to each item’s tittle to 0. This is the default quantity of each item. Change to 0 allows customers to buy a set of 3 pieces of the same item without the need to select all bundled items.
– Select/enable the option to allow customers to customize the quantity of bundled items. Keep the tick in the box “Set default quantity as min”, Min: blank, Max: 3. Customers can only 3 pieces at maximum per bundled item.
– To limit the quantity of the whole bundle, put Min: 3, Max: 3. Customers cannot buy more than 3 items in the whole.
I’ve tested on our site with the above settings and it works perfectly as you wanted. Please try on your site.
Best regards.
Thank you for the detailled description!
1. Hiding a product from shop and search page is a standard option in woocommerce. I’ve already set this. But if people know the direct url they can still visit the page and order the product.
I rather not use plugins for this sort of things. As i’m only looking to disable the add to card functionality.
2. I already had set the options exactly as you suggested, but that still allows people so select 3 of each item. They cannot buy them, the “add to cart” button is not active. So that’s good, but it’s weird that they are still able to raise the amount, even when they reached the 3 total already.
if they have selected 2 of first item, 1 of second for example, then you should not be able to increase the amounts anymore. Right now it’s possible, because the max of 3 of each item has not been reached yet.
See example: https://snipboard.io/K8SfLA.jpg
It’s more from a user experience point of view. Right now i’ve added an extra message that if they want to order more sets, they have to individually order them. Otherwise it’s confusing, they can select 2 items of each, but not order. (2 x 3 is also two sets).
thank you for the response 🙂
Regards,
Mirna
Hi
We see that they have recently made an update and this @magicsun topic is still having the same error. The following indications are not working as directed, we appreciate if you could review it again:
“If you want to let customers buy a set of 3, whether it means buying at least 3 of a particular bundled item and also 3 for the whole, or buying with any combination of the item as long as the total quantity is 3, then kindly set it as below:
– Change all the quantity in the box next to each item’s tittle to 0. This is the default quantity of each item. Change to 0 allows customers to buy a set of 3 pieces of the same item without the need to select all bundled items.
– Select/enable the option to allow customers to customize the quantity of bundled items. Keep the tick in the box “Set default quantity as min”, Min: blank, Max: 3. Customers can only 3 pieces at maximum per bundled item.
– To limit the quantity of the whole bundle, put Min: 3, Max: 3. Customers cannot buy more than 3 items in the whole.”
Regards,
Fernando
I managed to solve this problem with a short piece of code in my functions.php file:
// hide single page for hidden products
add_action('wp', function () {
global $post;
if (is_product()) {
$product = wc_get_product($post->ID);
if ($product->catalog_visibility === 'hidden') {
global $wp_query;
$wp_query->set_404();
status_header(404);
}
}
});