Excluding One Category From Blog Homepage (WordPress)

[fr]

Comment exclure une catégorie de la première page de votre blog WordPress tout en la gardant dans les archives.

[en]

The simplest method I’ve found up to now (and I’ve only just found it) if there are certain categories of posts you do not want to see appear on your main blog page, but that you still want to see in the archives, is to use query_posts().

Here’s an example:

<?php
if (is_home()) {
   query_posts($query_string . "&cat=-3");
}
?>

This needs to come in right before the while ( have_posts() ) { line. The $query_string parameter means that you can still pass parameters in the URL, so things like special Event Calendar pages will still work.

Careful, though, this only works for one category at a time. You need to use WP_Query for that, and build a separate loop for the homepage.

Similar Posts:

This entry was posted in Wordpress and tagged category, code, hack, home, Real Live Code, Weblog Technology, Wordpress. Bookmark the permalink.

8 Responses to Excluding One Category From Blog Homepage (WordPress)

  1. J S Zolliker says:

    Great to hear you solved your problem! One quiestio, though. How do you manage to get your cutomized twitter on the sidebar? I cant seem to make it work in mi site…

  2. Stephanie says:

    I use this twitter widget http://www.velvet.id.au/twitter-wordpress-sidebar-widget/ and I customized the output somewhat.

  3. J S Zolliker says:

    Great to hear you solved your problem! One quiestio, though. How do you manage to get your cutomized twitter on the sidebar? I cant seem to make it work in mi site…

  4. Stephanie says:

    I use this twitter widget http://www.velvet.id.au/twitter-wordpress-sideb… and I customized the output somewhat.

  5. Xavier says:

    Steph, what about using in_category() (or !in_category()) inside The Loop ? http://codex.wordpress.org/The_Loop#Exclude_Posts_From_Some_Category

    Seems a bit more usable than resorting to query_posts(), doesn’t it ?

  6. Xavier says:

    Steph, what about using in_category() (or !in_category()) inside The Loop ?
    http://codex.wordpress.org/The_Loop#Exclude_Pos…>

    Seems a bit more usable than resorting to query_posts(), doesn't it ?

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>