Шаблон страницы по категориям (архив) по категориям

Я чувствую, что это, вероятно, повторяющийся вопрос, но не могу найти условия поиска, чтобы найти то, что я ищу.

Возможно ли иметь разные категории (архивные) страницы (или виды / шаблоны) на основе категории публикации?

Я работаю над сайтом, который использует блог как категорию высшего уровня, но я хочу, чтобы мои другие «страницы» были просто другими категориями сообщений верхнего уровня, каждый из которых имел индивидуальный вид для страницы списка категорий / архива.

Пример: переход на категорию / категорию выводит вывод по умолчанию category.php, содержащий все последние сообщения в блоге (которые относятся к категории блога верхнего уровня или относятся к категориям детей в блогах)

Переход в / category / work перечисляет все последние рабочие записи (которые относятся к категории верхнего уровня «работа» и категории детей)

Это возможно?

Редактирование: вот как я установил мою настройку страницы category.php (основываясь на этом «пользовательском» шаблоне на двадцать_тену, очевидно. В этот момент я бы просто get_template_part('loop', 'category'); часть в выражении работы if указать на нечто иное, чем «цикл»?

 <?php /** * The template for displaying Category Archive pages. * * @package WordPress * @subpackage Twenty_Ten * @since Twenty Ten 1.0 */ if (is_category('blog')) : $GLOBALS['pagetype'] = 'blog'; endif; if (is_category('work')) : $GLOBALS['pagetype'] = 'work'; endif; get_header(); ?> <div id="container"> <!-- OUTPUT FOR BLOG CATEGORY LIST PAGE --> <?php if (is_category('blog')) : ?> <div id="content" class="blogList" role="main"> <?php $category_description = category_description(); if ( ! empty( $category_description ) ) echo '<div class="archive-meta">' . $category_description . '</div>'; /* Run the loop for the category page to output the posts. * If you want to overload this in a child theme then include a file * called loop-category.php and that will be used instead. */ get_template_part( 'loop', 'category' ); ?> <div class="triangle"></div> </div><!-- #content --> <?php endif; ?> <!-- /OUTPUT FOR BLOG CATEGORY LIST PAGE --> <!-- OUTPUT FOR WORK CATEGORY LIST PAGE --> <?php if (is_category('work')) : ?> <div id="content" class="blogList" role="main"> <?php $category_description = category_description(); if ( ! empty( $category_description ) ) echo '<div class="archive-meta">' . $category_description . '</div>'; /* Run the loop for the category page to output the posts. * If you want to overload this in a child theme then include a file * called loop-category.php and that will be used instead. */ get_template_part( 'loop', 'category' ); ?> <div class="triangle"></div> </div><!-- #content --> <?php endif; ?> <!-- /OUTPUT FOR WORK CATEGORY LIST PAGE --> </div><!-- #container --> <!--Default sidebar only for Blog postings--> <?php if (is_category('blog')) : get_sidebar(); endif; ?> <?php get_footer(); ?> 

Solutions Collecting From Web of "Шаблон страницы по категориям (архив) по категориям"

Вы можете создать шаблон категории с именем category-foo.php который будет применяться только к категории с slug foo . Таким образом, вы можете создать собственный шаблон для разных категорий.

Страница Source – Codex для шаблона категории

Заметка –

Если вы хотите сделать некоторые незначительные изменения, такие как show foo в категории-1 и bar на другом, тогда было бы хорошо иметь один category.php и использовать условные теги is_category .


Обновить –

Вы можете использовать get_template_part( $slug, $name ) для использования разных циклов для разных категорий –

 <?php if (is_category('foo')) { get_template_part( 'cat', 'foo' ); // It'll load cat-foo.php } else (is_category('bar')) { get_template_part( 'cat', 'bar' ); // cat-bar.php } else { // } ?>