Exclude Single Category in WordPress

If you ever need to exclude a single category from a WordPress page (archives, index, category page, etc) you can easily do so by using a little conditional tag code within the WordPress loop.

The example below will skip over any post that is in the category with the ID of 35:

PHP:
  1. <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  2. <?php if (in_category('35')) continue; ?>
  3. <?php the_content(); ?>
  4. <?php endwhile;endif;?>

This can be helpful if you want to not show a particular category in your blog (if you have a category based site setup) - or if you want to hide some categories from your search results.

6 Responses to “Exclude Single Category in WordPress”

  1. robert says:

    That should be IN, not IS, in_category

  2. jzelazny says:

    Good catch – I have corrected my mistype.

  3. Aleksey says:

    Not working with version 2.6.1 . And I don’t know why…

  4. jzelazny says:

    It is still working fine for me in 2.6.1. Feel free to email me (see contact form) with your theme file if you want some input.

  5. To exclude a category from the loop on the front page, find this code:

    and change it to this:

    This will exclude posts in category number four from being displayed on the front page.

    NOTE: This will also solve previous and next entry links ( pagination ) with above code.

  6. Sorry posting again as it isn’t showing code

    To exclude a category from the loop on the front page, find this code:

    and change it to this:


    This will exclude posts in category number four from being displayed on the front page.

Leave a Reply