Open ghost opened 4 years ago
In Woo World, this is plugin territory. This sort of functionality is usually provided by a "catalog mode" plugin. Installing a plugin to disable core functionality has always seemed counter-intuitive to me so I'm all in favour of moving towards a more modular type model for CC.
Adding a checkbox to disable (or, to look at it another way, not enable) the commerce components would be a good start.
However, we would need to consider:
But I am in favour in principle.
I think in Woo World everything is plugin territory. :-) I'm sure there are plugins for all 90 of my code snippets too.
I usually do it with these 3 lines in functions.php.
add_filter( 'woocommerce_is_purchasable', '__return_false'); // DISABLING PURCHASE FUNCTIONALITY AND REMOVING ADD TO CART BUTTON FROM NORMAL PRODUCTS
remove_action('woocommerce_single_variation', 'woocommerce_single_variation', 10); // REMOVING PRICE FROM VARIATIONS
remove_action('woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20); // REMOVING ADD TO CART BUTTON FROM VARIATIONS
It just occurred to me that WooCommerce is very focused on "selling online", but a lot of people seem to be using it simply as a means to display a catalog, so maybe we should make that something that Classic Commerce does better.
This issue has been mentioned on ClassicPress Forums. There might be relevant details there:
This option exists in one premium theme I was unfortunate enough that I had to use it for a customer.
It has its own dashboard and there's a switch button that turns the entire website to a catalog, which is really convenient if you plan to display products only.
I'll add in this forum post for reference. I have put a snippet on the CC site for this functionality.
https://forums.classicpress.net/t/snippets-to-make-classic-commerce-catalogue-mode-no-sales/2616
Is your feature request related to a problem? Please describe. About half of my CC sites do not sell products online - they are just used to display items that are available to buy in-store. So, I have no need for any payment options, no need for shipping, no need for cart, etc. I'm not sure how common this scenario is for others.
Describe the solution you'd like I would like to have a single place in settings (a checkbox) where I can disable all online sales. So it would disable the add-to-cart functionality and maybe hide the payment and shipping tabs completely (the same way taxes gets hidden unless they are enabled). It could even hide orders and reports in the admin menu. By ticking that one checkbox it would turn CC into a "display-only" store.
Describe alternatives you've considered There are workarounds for this. It is usually done by adding various snippets in functions.php. Or if no prices are displayed it won't show the add-to-cart button (so price could be included in description).
Additional context This could also be enabled initially through the setup wizard by adding one more option to this dropdown:
Something like: "I will not be selling anything online, only displaying products"