Short answer: keep WooCommerce for the product structure, hide the price and the add-to-cart button, and put an enquiry form in their place. You get proper product listings, categories, search and filtering, and an interface your client already knows — without pretending the business sells by card.

I built a site like this for a dealer in used printing machinery. It is a more common need than the plugin directory suggests.

When a checkout is the wrong answer

Some businesses genuinely should not have one:

  • Every item is unique. Used machinery, antiques, vehicles, property. Stock is one of a kind, condition varies, and “add to cart” makes no sense.
  • The price depends on the buyer. Trade pricing, volume discounts, negotiated contracts. Publishing one number is actively unhelpful.
  • The sale needs a conversation. Installation, delivery, specification checks, finance. Nobody spends £40,000 without speaking to somebody.
  • You are a showroom, not a shop. You want people to see the range and then call.

In all four cases the instinct is often to build a custom post type instead. That is usually a mistake, and the next section says why.

Why still use WooCommerce

If you are not selling, why carry the plugin?

Because you get the structure for free. Product categories, tags, attributes and variations, image galleries, search, filtering, and a stock list your client can manage from an admin screen they will find documentation for.

Build the same thing as a custom post type with ACF and you will spend days recreating what WooCommerce already does, and your client will have a bespoke interface nobody else on earth can help them with.

The platform is right. Only its default behaviour is wrong. That is a much smaller problem to fix.

Turning the shop off

Three things need to change, and you can do all of them without a plugin.

1. Hide the add-to-cart button

// functions.php — remove add-to-cart from the shop and the product page
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 );

2. Hide the price

add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Use this when nothing has a public price. If some items are priced and others are not, leave the filter off and simply leave the price field empty on the ones that are not — WooCommerce hides an empty price by itself.

3. Put an enquiry in its place

add_action( 'woocommerce_single_product_summary', function () {
    global $product;
    printf(
        '<a class="button enquire" href="%s">Enquire about %s</a>',
        esc_url( home_url( '/contact/?ref=' . $product->get_slug() ) ),
        esc_html( $product->get_name() )
    );
}, 30 );

Passing the product slug means the enquiry arrives knowing which item it is about. That sounds small and it is the difference between a useful lead and “I’m interested in one of your machines.”

Prefer a plugin? Several do catalogue mode, and that is a reasonable choice if you would rather not maintain code. The snippets above exist so you can see there is not much to it.

Do not forget the cart and checkout pages

Hiding the buttons leaves the /cart/ and /checkout/ pages reachable by anyone who types the URL, and they will look broken because nothing can ever be in the cart.

Redirect them:

add_action( 'template_redirect', function () {
    if ( is_cart() || is_checkout() ) {
        wp_safe_redirect( home_url( '/contact/' ) );
        exit;
    }
} );

What to get right instead

With the shop removed, two things carry the whole site:

Specifications. A buyer comparing two machines wants year, condition, dimensions, what is included. Use product attributes, not paragraphs — attributes are filterable, prose is not.

Photographs. Nobody enquires about something they cannot see properly. Several real images beat one catalogue render.

When to use a custom post type after all

If the items are not really products — team members, locations, case studies — use a custom post type. WooCommerce is only worth its weight when you are genuinely cataloguing things people might buy.

The test: would it ever make sense to sell these online, even in principle? If yes, use WooCommerce and turn the cart off. If no, it is just content.


Have a catalogue that does not fit a normal shop? Tell me what you sell — see Belfar Limited for one built exactly this way.

WooCommerceWordPressCatalogueB2B
Written by

Amir Iqbal

Full-Stack Web & Mobile Developer. I build websites, web apps and mobile apps — and finish or fix the ones that got stuck. Around 1,500 completed projects with a 5.0 rating.

More about how I work