Как я могу показывать сообщения для одной категории?

Можно ли показывать сообщения для одной категории? Я пробовал просматривать URL-адрес http://mysite.com/category/foo который показывает все сообщения категории foo, но сообщения теряют форматирование в списке.

Мне нужен полный список сообщений, которые сохраняют форматирование. Мне нужно написать плагин для этого? Может ли кто-нибудь дать мне несколько указаний о том, как это сделать?

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

Похоже, вам действительно нужно сделать очень мало, чтобы это работало. Кажется, что у вас проблема с иерархией шаблонов. В WordPress рассматривается ряд переменных при принятии решения о том, какой шаблон следует использовать для показа содержимого, созданного определенным URL-адресом. Если вы посмотрите на иерархию шаблонов WordPress , вы можете увидеть, как эти решения принимаются.

В случае таксономий и, более конкретно, встроенной категории таксономии WordPress WordPress ищет эти шаблоны в следующем порядке:

  1. category- {slug} .php – Если slug категории были новостями, WordPress будет искать категорию-news.php
  2. category- {id} .php – Если идентификатором категории было 6, WordPress будет искать категорию 6.php
  3. category.php
  4. archive.php
  5. index.php

Эти файлы находятся в папке активной темы. Если первый файл находится, он будет использоваться для отображения вашего контента. Если нет, WordPress будет искать второй файл и так далее. Если ничего не найдено, по умолчанию будет указан ваш файл index.php.

Теперь, в вашей ситуации, похоже, что у вас есть файл index.php, который отображает сообщения таким образом, который вам действительно нравится; однако при попытке доступа к странице категории дисплей отличается. Это для меня предполагает, что WordPress отображает один из файлов, перечисленных 1-4, и не показывает тот же шаблон, что и ваши обычные сообщения в блоге, что, скорее всего, index.php. Таким образом, вы можете исправить это, выполнив одну из двух вещей (учтите, пожалуйста, создайте резервные копии своих файлов, прежде чем выполнять любой из этих параметров).

1) Определите, какой шаблон отображает вашу страницу категории. Скопируйте содержимое index.php в этот файл

2) Удалите файл, отображающий вашу страницу категории, и пусть index.php отобразит страницу.

Делая любой из этих вариантов, вы избегаете любых хакерских решений, которые выходят из WordPress, чтобы делать что-то, что избавит вас от множества головных болей. Кроме того, разбиение на страницы будет работать без каких-либо индивидуальных решений.

Я знаю, что это может быть не очень просто, но не стесняйтесь задавать больше об этом и, надеюсь, мы сможем выправить вас.

Вы можете использовать настраиваемый цикл, если хотите показать список сообщений категории, например:

 <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $query_args = array( 'posts_per_page' => 5, 'category_name' => 'foo', 'paged' => $paged ); $the_query = new WP_Query($query_args); if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> <?php // any other template tag ?> <?php the_title(); ?> <?php the_post_thumbnail(); ?> <?php the_excerpt(); ?> <?php endwhile; endif; ?> <div class="navigation"> <div class="alignleft"><?php next_posts_link('&larr; Older Entries') ?></div> <div class="alignright"><?php previous_posts_link('Newer Entries &rarr;') ?></div> </div><!-- /.navigation --> <?php wp_reset_query(); ?> 

Просто укажите идентификатор категории в запросе

 $args = array( 'cat' => 22, 'order' => 'ASC' ); query_posts( $args ); 

Подробнее читайте здесь: https://codex.wordpress.org/Function_Reference/query_posts .