[FAQ] Как вывести посты на странице... / WordPress - форум поддержки пользователей

Опубликовано: 01.09.2018

видео [FAQ] Как вывести посты на странице... / WordPress - форум поддержки пользователей

Как создать страницы, разделы, записи и вывести в меню на wordpress

... и почему этого лучше не делать.



Статические страницы (далее просто страницы) и посты (записи) - совершенно разные сущности, а смешение сущностей до добра не доводит. Посты группируются по рубрикам, коих может быть более одной, а также по меткам (тегам). Если вам захотелось вывести посты из какой-то рубрики на странице, то это значит, что на самом деле вы хотите вывести рубрику . Обычно новичков толкают на преступление "вывод постов на странице" два момента. Первый - в "меню" выбранного шаблона показываются только страницы. Второй - хочется в рубрике иметь "вступление". Рассмотрим подробнее.


Учимся создавать ЗАПИСИ, РУБРИКИ, СТРАНИЦЫ в Wordpress. Добавляем МИНИАТЮРУ записи

Никакого "меню" у WordPress нет *. Просто в большинстве шаблонов в шапку выводится список страниц. Никто не мешает заменить вывод списка страниц на вывод списка рубрик и в результате получить "меню" по рубрикам. Это делается заменой wp_list_pages на wp_list_categories. Само собой разумеется, параметры вызова нужно подкорректировать. Если нужно в "страничное меню" вставить одну-две ссылки на рубрики, то можно воспользоваться плагином Page Links To , позволяющим подменить ссылку в списке страниц. Кстати, с его помощью можно сделать и ссылку "наружу", например, на форум.


Как вывести ленту статей Wordpress на любой странице в меню

Для "вступления" к рубрике можно использовать поле "описание" рубрики (есть плагины, добавляющие визуальный редактор для этого поля и разрешающие использование html форматирования) или шаблон для рубрики, т.к. иерархия шаблонов позволяет для каждой рубрики иметь свой шаблон.

Из "граблей", на которые можно наступить, насильственно выводя посты на странице, стоит отметить "некорректную" работу тега <!--more--> и большую головную боль с пагинацией (постраничный вывод). Слово "некорректную" взято в кавычки из-за того, что на самом деле работает он корректно. У WordPress существует два типа документов (скажем так, дабы избежать термина "страницы" и связанной с этим путаницы): сингулярные и списочные. К сингулярным относятся страницы, посты и аттачи, где <!--more-->  по вполне понятным причинам не режет записи. На списочных - рубрики, архивы по дате или автору, метки - тег <!--more--> вызывает "усекновение" поста. Лечится это присвоением значения false глобальной переменной $more. Чем лечится отсутствие пагинации - не знаю и знать не хочу.

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

Если все-же необходимости вывода постов на странице оправдана, то лучше всего это делать с использованием индивидуального шаблона страницы (см. раздел FAQ этого форума) и вызова query_posts с соответсвующими параметрами (см. Кодекс). В совсем тяжелых случаях острого желания сделать и  нежелания учиться править шаблоны можно использовать плагин http://blog.portal.kharkov.ua/2008/10/2 … -stranicu/

Мораль сей басни такова: во избежание травм используй инструмент по назначению.

---

* - писалось до появления WP3.0, в котором уже есть родное навигационное меню.

"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)
rss