Изменить шаблон страницы на основе категории

Как отображать сообщение с определенной категорией в шаблоне страницы, а не в шаблоне категории по умолчанию.

Например, я хочу показать все сообщения под категорией «Скотт» с шаблоном страницы («page.php»).

Я уверен, что вы также можете делать то, что хотите, фильтруя template_include . Это супер-непроверенный, но, возможно, это может привести вас в правильном направлении:

 function wpse53871( $template ) { global $post; // check if is a Post and in the 'scott' category if( is_single( $post->ID ) && has_category( 'scott', $post ) ) { return get_template_part( 'page' ); } else { return $template; } } add_filter( 'locate_template', 'wpse52871' ); 

Вот еще один пример используемого фильтра.

дополнительный

Вы также можете добавить фильтр в single_template

add_filter( 'single_template', 'wpse53871' );

Существует два разных типа контента: 1. Страницы http://codex.wordpress.org/Pages 2. Сообщения

Категории относятся только к сообщениям. http://codex.wordpress.org/Category_Templates

Если вы используете Pages, вы хотите создать родительские и дочерние страницы. http://codex.wordpress.org/Pages#Organizing_Your_Pages

Если у вас есть страница и вы хотите перечислить категории в ней, вы можете добавить функцию категорий категорий в шаблон страницы http://codex.wordpress.org/Template_Tags/wp_list_categories

Кроме того, я бы не изменил page.php, если вы действительно этого не хотите, я бы создал шаблон пользовательской страницы http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates