Posted on

WooCommerce: How to Enable Catalog Mode?

One of the most common WooCommerce questions is: can I use WooCommerce to build a catalog of products (without add to cart, price… basically a product gallery)? Using WooCommerce for this case scenario is indeed very helpful – you can make the most of all the inbuilt features such as single product gallery and carousel, image zoom, product description tabs, attributes, categories, tags and related products. Basically a much better version than a standard image gallery.

Another question might be: can I disable the WooCommerce add to cart / cart / checkout functionality until the time I am able to sell my products? This is another common scenario that many WooCommerce store owners require.

Besides, certain products in your WooCommerce website might be for sale and others might not. In this case, you’d want to disable the add to cart functionality from specific categories or products.

Finally, you might want to restrict the cart / checkout functions to logged in, registered users only. This is if you run a wholesale business for example, and wish to hide your prices to the public.

Either way, when the “Add to Cart” button gets hidden, a contact form might be required – this is what I call a “Product Inquiry” form.

Good news is there are snippets and plugins that can make your life easier, your admin time more efficient and your product management simpler. And today we’re taking a look at the best options.

Solution 1: Code Snippets

If you feel adventurous with coding, there are simple PHP snippets that can achieve almost everything. And here on Business Bloomer there are many, such as this: “WooCommerce: Hide Price & Add to Cart for Logged Out Users“.

The thinking behind this is very simple – we check if the user is logged in and if not, we tell WooCommerce to “remove” add to cart buttons and prices everywhere. This does not hide the Cart and Checkout pages, it does apply to all products and it might need to be customized if your theme is overriding WooCommerce with its own functions.

A quick version of the original snippet (which can be found at this link together with an additional feature – as a login message), is the following:


/**
* @snippet Hide Price & Add to Cart for Logged Out Users
* @how-to Watch tutorial @ https://businessbloomer.com/?p=19055
* @sourcecode https://businessbloomer.com/?p=299
* @author Rodolfo Melogli
* @testedwith WooCommerce 3.3.4
*/

add_action( 'init', 'bbloomer_hide_price_add_cart_not_logged_in' );

function bbloomer_hide_price_add_cart_not_logged_in() {
if ( !is_user_logged_in() ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
}
}

The “is_user_logged_in” PHP function is very helpful and in this case some code is executed when the user is not.

This is a great start, but unless you know PHP you probably won’t be able to customize it for your specific objectives. So, let’s take a look at the most reliable plugins that can achieve this… and much more – without having to ever get close to coding.

Solution 2: “WooCommerce Catalog” Plugin (Free)

There is a plugin on the WordPress repository, but I won’t give you the link for that. In fact, it hasn’t been updated in 3 years and therefore this is not reliable.

I think it’s important to highlight this as I wanted to write a thorough list of plugins, and telling you the ones you should not be using is almost as helpful as knowing the ones you should 🙂

Anyway, here it is: https://wordpress.org/plugins/woocommerce-catalog/

Solution 3: “YITH WooCommerce Catalog Mode” (Free)

The great YITH team has a plugin for this too. We already talked about their Bulk Product Edit, Affiliate Program, My Account Customization, Wishlist, Multi-Vendor, Gift Cards, Request a Quote plugins and this won’t be the last. They develop all the most popular WooCommerce plugins, have a great support team and most of their plugins comes with a free version, which is a good way to test the product without having to commit to an online purchase.

YITH WooCommerce Catalog Mode” is a free plugin available on WordPress.org. With this version you can already achieve a lot, such as hiding the Add to Cart everywhere on the site and disable the Cart and Checkout pages. Not a bad start.

In order to get more features, however, YITH has a premium version of the plugin, which we’re going to cover in the next section.

Solution 4: “YITH WooCommerce Catalog Mode” (Premium)

Once you’ve given the YITH free version a go, you might like this advanced plugin and its awesome features.

On top of the functionalities of the free version, YITH WooCommerce Catalog Mode premium also features:

  • an “exclusion list”, so that you can apply the catalog mode to a specific list only
  • a way to hide prices (as well as Add to Cart buttons) to all users or non logged in users
  • a way to enter a message instead of the price e.g. “POA” or “Register to see prices”
  • an “inquiry form“, compatible with Contact Form 7 or Gravity Forms, so that users can request information, quotes or prices via a direct form on the product page
  • and other features (I also recommend to look at the Q&A tab on the plugin sales page to see custom scenarios and specific queries)

Here are a few screenshots of the plugin frontend and backend (click on any image to open lightbox):

Solution 5: “WooCommerce Catalog Visibility Options” (Premium)

There is also a premium plugin available on the official WooCommerce.com marketplace. In regard to its features, WooCommerce Catalog Visibility Options gives you the ability to:

  • hide prices for all or only registered users
  • disable the cart/checkout pages
  • define an alternative price message when prices are disabled
  • define an alternative add-to-cart button when disabled

It seems the features are less than the ones provided by YITH, but once again always ask the pre-sales support if you have specific questions, integrations, doubts and idea. Not all plugins suit everyone 🙂

Rodolfo Melogli

Author, WooCommerce expert, WordCamp speaker and Internet marketer, Rodolfo Melogli has worked as a WooCommerce freelancer since 2011. He helps entrepreneurs and developers overcome their WooCommerce nightmares 🙂 Rodolfo is the organiser of WordCamp Dublin, the Dublin WooCommerce Meetup, the Dublin Ecommerce Meetup and the Dublin WordPress Meetup. He enjoys interacting with people, travelling and chasing tennis & soccer balls. Of course, he loves pizza too.

2 thoughts on “WooCommerce: How to Enable Catalog Mode?

  1. For catalog mode in Storefront it is also good to remove cart from header 🙂 :

    add_action( 'storefront_header', 'storefront_header_cart', 60 );
    function storefront_header_cart() {
    echo NULL;
    }
    

    Greetings!

    1. Good stuff Łukasz, but that’s not ideal. I’d rather use this:

      remove_action( 'storefront_header', 'storefront_header_cart', 60 );
      
Questions? Feedback? Support? Leave your Comment Now!
If you're writing code, please wrap it between: [php] code_here [/php]

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.