Include/Exclude Category from WordPress wp_get_archives()

By Posted in - Blog Post & plugin & Wordpress & Wordpress plugin on July 22nd, 2009 16 Comments

For some reason, WordPress’ “wp_get_archives()” function does not allow us to include or exclude categories by default.  This is weird, because many other WordPress hooks include this basic functionality.

Thankfully, after struggling for a bit today, I discovered this plugin that solves the issue.  It hooks directly into the WordPress core, so customizing is a breeze!  Simply add “cat=5” (with the number “5” being the id of the category you want to include) to the “get_archives” parameters in your template file!  It’ll look like this: <?php wp_get_archives(‘cat=5’); ?>

Pretty cool, eh?

(16) awesome folk have had something to say...

  • Danilo -

    September 17, 2009 at 3:31 am

    thanks a lot!!!!!

    • Toby -

      September 18, 2009 at 12:44 pm

      No problemo, Danilo! 🙂

  • Courtney -

    September 21, 2009 at 6:48 pm

    This is definitely what I was looking for — but it doesn’t seem to work with permalinks.

  • Toby -

    September 21, 2009 at 8:59 pm

    @Courtney – What do you mean? Permalinks to blog posts?

  • Courtney -

    September 21, 2009 at 10:38 pm

    Hmm, maybe I described that wrong.

    But the real issue is that, while it does filter down the archives list correctly it doesn’t display the contents for a particular month in that list.

    The plugin creates this link for September 08 — http://myurl.com/2009/09/?cat=4 — but if I click on it it displays as http://myurl.com/category/cats/ (“cats” being category with ID of 4). And it displays all entries for that category, not just September 2008.

    I guess what I’d really like is if it did something like:

    http://myurl.com/2009/09/category/cats/.

  • Courtney -

    September 21, 2009 at 10:40 pm

    P.S. Shoot, I shouldn’t have used “cats” as my arbitrary category name (“cats” and “category” might be confusing)… Insert “dogs” or whatever category name makes the most sense to understand the scenario.

  • Phil -

    January 8, 2010 at 3:56 pm

    Hi Courtney, wondering if you figured out the permalinks issue with this plugin. I’ve been having the same problem I think.

  • Toby -

    January 13, 2010 at 10:30 pm

    @Courtney – I see what you are talking about now, but unfortunately, I don’t know how to solve the problem. Perhaps you can find some help on the WordPress.org forums.

  • Alex -

    April 20, 2010 at 11:35 am

    Not too sure if there has been a recent update to the plugin, but to make it work with permalinks, just go to the plugin settings page (Settings > Kwebble) and click on “Disable canonical URLs.” Then update. Works fine now for me with neat url permalinks.

    You might already know about this, but thought I’d comment about it just in case.

  • Tim -

    April 26, 2010 at 5:16 am

    It doesn’t work.
    If I click on the month, the actual page reloads and it doesn’t goes to the archive.php to list the posts.

  • Balu -

    August 16, 2010 at 12:14 am

    Thanks a lot …………………………….

  • Mind -

    August 30, 2010 at 2:59 pm

    Great. Thanks

  • Yub -

    March 5, 2011 at 12:43 pm

    Does this plug-in work with thesis theme? I tried but not working.

    Here is my code:

    function posts_nav() {
    echo ‘Blog‘;
    wp_get_archives(‘cat=5’);
    echo ”;
    }
    add_action(‘thesis_hook_last_nav_item’,’posts_nav’);

    ?>

  • toby -

    March 17, 2011 at 2:05 pm

    @Yub – I have not tried this in the Thesis theme.

  • Grant -

    May 15, 2011 at 9:28 pm

    Could this also work if you passed an author ID through the wp_get_archives?

    Thanks

  • toby -

    May 17, 2011 at 12:05 am

    @Grant – I don’t know. Please give it a try and let me know!