Как заставить страницы категорий выглядеть как определенная страница архива?

Я не уверен, ответил ли на этот вопрос, я не уверен, как я должен был даже сформулировать этот вопрос, но …

У меня есть пользовательский тип сообщения, называемый видео, а стиль архива отличается от архива категорий.

Для этого типа сообщения у меня есть категория Видео и с под-подкатегориями; например:

видео
-Клип
– Группа художников
– Художник как Соло
-Interviews
-Performances
– Группа художников
– Художник как Соло
-Другие

Теперь, как мне получить эти категории, чтобы иметь тот же стиль, что и тип архива типа видео, не создавая другой файл php для каждой категории.

Или мне нужно создать php-файл для категории видео? но если бы мне пришлось это сделать, то как бы я получил эти категории, чтобы взять стиль этого архива?

Solutions Collecting From Web of "Как заставить страницы категорий выглядеть как определенная страница архива?"

Вы можете добиться этого с помощью фильтра на category_template . Это пойдет в файле functions.php вашей темы. См. Комментарии в коде для объяснения того, что он делает:

 function video_category_archive( $template = '' ){ // your parent video category ID // ( change this to your actual video category ID ) $video_cat_id = 42; // get the ID of the current category being viewed $cat_id = get_queried_object_id(); // get the IDs of the ancestors of this category $ancestors = get_ancestors( $cat_id, 'category' ); // if this category is a child of the video category, // or if this is the parent video category, // load the post type archive template // instead of the normal category template // ( change archive-video.php to the name of the template you want to load ) if( in_array ( $video_cat_id, $ancestors ) || $cat_id == $video_cat_id ){ $template = locate_template( array( 'archive-video.php' ) ); } return $template; } add_filter( 'category_template', 'video_category_archive' );