Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

My archive.php template is formatted perfectly to list out posts from a certain month and year. However, I only want this template to show from a specific category. I can query for the specific category but then the month/year filter no longer works. How can I display posts on the archive.php template from one category?

share|improve this question
add comment

1 Answer

add_action( 'parse_query', 'wpse_60354_archive_category' );
function wpse_60354_archive_category( $wp_query )
{
    if ( $wp_query->is_archive() )
        $wp_query->set( 'cat', ID_OF_CATEGORY );
}

Just replace ID_OF_CATEGORY with the ID of your category, obviously ;)

share|improve this answer
    
I was working with this and can't seem to get it to work. Where exactly would this code be dropped in? –  Robbie Aug 1 '12 at 13:05
    
functions.php - it's not tested, so if you still get problems, let us know what's going on & we can tweak it! –  TheDeadMedic Aug 1 '12 at 13:07
    
Cool. I did try it out and it had no impact on the page. Would this go before or after the loop? I tried both. –  Robbie Aug 1 '12 at 14:08
    
The code I posted needs to go in functions.php - it has to run before the template is loaded! –  TheDeadMedic Aug 1 '12 at 14:14
    
Ahh, I put that in my functions.php template and removed it from archive.php. I replaced the ID of category which is '3' but it is not sorting my archives page by that category. –  Robbie Aug 1 '12 at 14:58
show 2 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.