WooCommerce: Hide “Shop” Title @ WooCommerce Shop Page

There are plenty of WooCommerce snippets floating around the internet, but many of them are outdated, don’t work with the latest versions, or rely on messy CSS hacks. Titles are one of those elements that store owners often want to hide, especially when using page builders or when the design already includes a custom heading.

One of the most common requests is how to remove the default Shop page title, since it often doesn’t fit with the layout or might feel redundant. But the same question also comes up for Category and Tag archive pages, where the automatically generated titles can get in the way of a cleaner design.

In this post, I’ll share three simple snippets you can safely use: one to hide the Shop page title, one to hide Category and Tag titles, and one to remove all of them entirely if that’s what you prefer. Enjoy!

How to Remove the WooCommerce Shop Page title

PHP Snippet 1: Remove Title @ WooCommerce Shop Page

/**
 * @snippet       Remove shop page title - WooCommerce Shop
 * @how-to        businessbloomer.com/woocommerce-customization
 * @author        Rodolfo Melogli, Business Bloomer
 * @compatible    WooCommerce 10
 * @community     https://businessbloomer.com/club/
 */

add_filter( 'woocommerce_show_page_title', 'bbloomer_hide_shop_page_title', 9999 );

function bbloomer_hide_shop_page_title( $title ) {
	if ( is_shop() ) $title = false;
	return $title;
}

PHP Snippet 2: Remove Title @ WooCommerce Product Category Pages

/**
 * @snippet       Remove cat page title - WooCommerce Cat pages
 * @how-to        businessbloomer.com/woocommerce-customization
 * @author        Rodolfo Melogli, Business Bloomer
 * @compatible    WooCommerce 10
 * @community     https://businessbloomer.com/club/
 */

add_filter( 'woocommerce_show_page_title', 'bbloomer_hide_cat_page_title', 9999 );

function bbloomer_hide_cat_page_title( $title ) {
	if ( is_product_category() ) $title = false;
	return $title;
}

PHP Snippet 3: Remove Title @ WooCommerce Product Archive Pages (Shop, Category, Tag, etc.)

/**
 * @snippet       Remove page title from all WooCommerce archive pages
 * @how-to        businessbloomer.com/woocommerce-customization
 * @author        Rodolfo Melogli, Business Bloomer
 * @compatible    WooCommerce 10
 * @community     https://businessbloomer.com/club/
 */

add_filter( 'woocommerce_show_page_title', '__return_null', 9999 );

Where to add custom code?

You should place custom PHP in functions.php and custom CSS in style.css of your child theme: where to place WooCommerce customization?

This code still works, unless you report otherwise. To exclude conflicts, temporarily switch to the Storefront theme, disable all plugins except WooCommerce, and test the snippet again: WooCommerce troubleshooting 101

Related content

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

10 thoughts on “WooCommerce: Hide “Shop” Title @ WooCommerce Shop Page

  1. Unfortunately it also doesn’t work for me. Ive tried to hook into “woocommerce_before_main_content”, “woocommerce_archive_description” and “woocommerce_show_page_title” all day but nothing shows up. All other parts of the woocommerce structure can be edited no issue.
    Could it be related to some special permalink settings? Its the only thing I can imagine at this point.

    1. Does it work with a different theme?

  2. it’s not working.

    1. Even if you try with a different theme?

      1. Hi i need some assistance with this on my shop also , i would prefer to have the woocommerce page titles moves down but if this cannot be achieved i think that removing it will be okay also

        1. Which snippet did you try?

  3. Hi Rodolfo!
    Yes! It works.
    But on the pages remain

    <header class="woocommerce-products-header"></header>

    That is, deleting the “Shop” title should be followed by editing the archive-product.php template.
    I think that it would be more correct to change the Title, and not delete it.

    add_filter( 'woocommerce_page_title', 'bbloomer_shop_title' );
    function bbloomer_shop_title($page_title) {
    	$page_title = 'My Works';
    	return $page_title;
    }
    
    1. Sure, thanks about that!

  4. Hi
    Thanks for the code.
    It works on the shop page, but not on the other because I need to add som br tags to move down products a little. But the category pages are created in runtime so I can’t add br them. So the result is that a part of the first row of articles are hidden under the menu and header. I use a theme called Shopisle.

    1. Hi Peter, maybe you can use some CSS there instead?

Questions? Feedback? Customization? Leave your comment now!
_____

If you are writing code, please wrap it like so: [php]code_here[/php]. Failure to complying with this, as well as going off topic or not using the English language will result in comment disapproval. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining the Business Bloomer Club to get quick WooCommerce support. Thank you!

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