Существует небольшая проблема с предоставленным вам кодом. Но, как предположил Eimantas, вы можете просто создать новый файл под названием category-39.php, который отлично справится с этой задачей, если, хотя по какой-то причине вы все еще хотите продолжать использовать файл category.php, то вот что вам нужно делать:
if ( is_category('39') ) {
get_sidebar('2');
} else {
get_sidebar();
}
?>
<?php get_footer(); ?>
Разница между этим и вашим кодом в том, что я удалил
<?php get_sidebar(); ?>
Кроме того, я изменил in_category на is_category. Причина этого заключается в том, что при просмотре самой страницы категории использование is_category изменится в списке категорий, тогда как in_category смотрит только на текущее сообщение и, следовательно, не изменится в соответствии с исключением просмотра страницы single.php.
Пример:
in_category изменит боковую панель для следующего URL www.mysite.com/category/stuff/myfirstpost
Но это не изменит боковую панель для этого URL www.mysite.com/category/stuff
Простое использование is_category решит эту проблему.
Следующая вещь будет использовать
get_sidebar('2');
и
get_sidebar();
get_sidebar (); запустит соответствующие функции WordPress, относящиеся к боковой панели, в дополнение к включению sidebar.php.
get_sidebar ( '2'); с другой стороны, будут запускаться все соответствующие функции wordpresss, связанные с боковой панелью, а также загружаться sidebar-2.php.
Надеюсь, это поможет,