This an answer for JT101 –
James, I figured this out for a recent project – You just need to take archive.php (singular, not plural), and duplicate, and give it the name category-17.php (or whatever the cat ID is).
Customize that page as you’d like. Then, in that page, when you call the sidebar, put the call like this:
<?php get_sidebar(‘cat17’); ?>
You’ll now have to create a custom sidebar:
sidebar-cat17.php
Now, this is the trick that makes the sidebar come up consistently throughout all posts in the category; you’ll need to go into single.php, and put this logic:
<?php
//to be able to use this outside the_Loop
if ( have_posts() ) { the_post(); rewind_posts(); }
if ( in_category('17') ) {
get_sidebar('cat17');
//gets sidebar-cat17.php
} elseif ( in_category('75') ) {
get_sidebar('cat75');
//gets sidebar-cat75.php
//repeat as necessary
} else {
get_sidebar();
//gets sidebar.php
}
?>
Other conditional statements only call the sidebar for the category page, not for any of the post child pages.