WordPress как вывести один пост

Содержание
  1. Как вывести записи (посты) по произвольному полю в WordPress
  2. 1. WP_Query PHP код для вывода записей в КАТЕГОРИЯХ
  3. 2. WP_Query PHP код для вывода постов в КАТЕГОРИИ с БЮДЖЕТОМ
  4. 3. WP_Query PHP код для вывода постов в разделе РЕЙТИНГ
  5. 4. WP_Query PHP код для вывода постов в КАТЕГОРИИ с ДАТОЙ
  6. 5. WP_Query PHP код для вывода записей в разделе ТЕГОВ
  7. 6. WP_Query PHP код для вывода записей в разделе ПОИСКА
  8. В заключение. Очень важно.
  9. 7. Код для главной страницы (раздела) для вывода и РАЗДЕЛЕНИЯ записей по ТЕГАМ
  10. 8. PHP для вывода и РАЗДЕЛЕНИЯ записей по РАЗДЕЛАМ
  11. 9. Выводим один конкретный пост
  12. 10. Вывод записей с незаполненным произвольным полем
  13. 11. Выводим одну конкретную страницу
  14. ‘.apply_filters(‘post_title’, $t).’
  15. English Query (запросы по теме на английском языке)
  16. Читайте также
  17. Комментарии к статье “ Как вывести записи (посты) по произвольному полю в WordPress ” (2)
  18. Добавить комментарий Отменить ответ
  19. Как вывести посты по рубрикам на отдельной странице в WordPress
  20. Создание шаблона страницы
  21. Задача 1. Вывести рубрики или отдельную рубрику на странице в WordPress.
  22. Задача 2. Как вывести записи из рубрик на страницу в WordPress.
  23. Используем плагины

Как вывести записи (посты) по произвольному полю в WordPress

Выводим записи (посты, статьи) в категориях (рубриках, разделах) и тегах по произвольному полю. Используем функцию WP_Query в шаблоне своего сайта на WordPress.

Нижеследующие разновидности кодов были отточены практикой и временем. Было убито очень много времени на то, чтобы WP_Query заработал именно так, как я от него хотел. В своем роде уникальные коды, переписывающие стандартные выводы записей WordPress.

Функционал этих кодов нигде больше нельзя найти (на момент публикации поста), за исключением отдельных вставок, которые являются общими рекомендациями от WordPress и некоторых участков, позаимствованных из других открытых источников.

Читайте также:  Сколько раз чистят аквариум

Эти php коды для вывода записей через WP_Query, для удобства, даются без конструкций if (have_posts()). Но без неё работать не будут. Правильная конструкция if (have_posts()) для этих кодов приведена ближе к окончанию статьи.

1. WP_Query PHP код для вывода записей в КАТЕГОРИЯХ

Самый простой вывод постов, исключающий записи из конкретных категорий. Использую его для вывода на главной странице через index.php или home.php.

Также этот код занесен у меня в файл empty.php. Он нужен на тот случай, если человек зашел в категорию, где не должно быть никаких записей, там не будет ничего выводиться, кроме сообщения, что он не должен был попасть на эту страницу (раздел). И предлагаются инструменты для поиска на сайте.

Иногда в код, который выводит все статьи, но исключает определенные рубрики, требуется добавить пагинацию (&paged=’.$paged;), чтобы в последний страницах навигации не было пустых страниц.

В коде ниже выводятся записи с сортировкой по произвольному полю с ДАТОЙ. Выводятся записи с произвольным полем год, затем сортируются от последнего года к предыдущему.

$the_key,
// Сортируем по значению цифры в произвольном поле
‘orderby’ => ‘meta_value_num’,
// Сортируем от большего к меньшему
‘order’ => ‘DESC’,
// Исключаем категории
‘cat’ => ‘-310’
);

global $wp_query;
query_posts(
array_merge(
$wp_query->query,
$args
)
);
?>

2. WP_Query PHP код для вывода постов в КАТЕГОРИИ с БЮДЖЕТОМ

Следующий вывод WP_Query выводит, в категориях WordPress записи, по произвольному полю «Бюджет». В этом поле находятся цифровые значения.

Допустим требуется вывести в категории «Бюджет» все записи, которые будут сортироваться от большей цифры к меньшей.

3. WP_Query PHP код для вывода постов в разделе РЕЙТИНГ

Нижеследующий код выводит все статьи с произвольным полем год, сортируя по этому произвольному полю (от последнего года, до меньшего). Одновременно с этим исключает все записи из категорий меньше значения рейтинга 9.

4. WP_Query PHP код для вывода постов в КАТЕГОРИИ с ДАТОЙ

В php коде ниже вводятся две переменные с ДАТАМИ. Текущая дата сравнивается с датой, которая будет в будущем.

Для чего это нужно? Например, я хочу вывести ТОВАРЫ, которые только поступят в продажу или ФИЛЬМЫ, которые только выйдут в ближайшем будущем. Если, например, такие ТОВАРЫ или ФИЛЬМЫ или ЧТО-ТО другое существует, то следует вывести ЗАПИСИ с этими произвольными полям. В противном случае в категории ничего не будет выводиться.

5. WP_Query PHP код для вывода записей в разделе ТЕГОВ

Вывод записей в тегах, в отличии от категорий, немного другой. По какой-то причине, в тегах не работает функция исключающая категории из WP_Query:

К счастью, работает другая структура:

И код вывода $wp_query для тегов будет такой:

6. WP_Query PHP код для вывода записей в разделе ПОИСКА

Для вывода WP_Query на странице поиска используем совершенно иной код:

Для специальной обработки запроса WP_Query в файле search.php добавляем в файл functions.php своей темы следующий код:

Он сортирует записи в категории ПОИСК по произвольному полю ГОДЫ.

В заключение. Очень важно.

После любого из перечисленных выше кодов (кроме того что в functions.php) нужно вывести следующую функцию:

Обязательная нужна такая конструкция:

Это необходимо, чтобы не выводить пустые страницы, когда следует исключить записи из определенных рубрик на основании сравнения.

7. Код для главной страницы (раздела) для вывода и РАЗДЕЛЕНИЯ записей по ТЕГАМ

Следующая конструкция выводит записи из категории 27. Сортирует их случайно. Выводит 4 записи.

В конструкции выше код отвечающий за вывод поста находится в отдельном файле:

8. PHP для вывода и РАЗДЕЛЕНИЯ записей по РАЗДЕЛАМ

Тот же самый код, но для вывода записей из РАЗДЕЛОВ, а не ТЕГОВ. Значения вывода ($args) изменены на другие. В том числе учтена пагинация (&paged=’.$paged;), в конструкции выше она исключена из работы.

9. Выводим один конкретный пост

Типовые конструкции для вывода одного определенного поста. В данном случае будет выведен пост с номером 1. Под конец wp_reset_postdata сбрасывает вывод WP_Query, так что можно выводить и любые другие посты.

$the_query = new WP_Query(‘p=1’);

while ($the_query->have_posts() ) : $the_query->the_post();

10. Вывод записей с незаполненным произвольным полем

Можно вывести записи с пустым значением в конкретном произвольном поле. Иногда такой способ помогает найти все записи с незаполненными значениями. Как альтернатива поиска данных через MySQL.

array(
array(
‘key’ => $the_key,
‘compare’ => ‘not exists’,
‘value’ => null,
),
)
);

global $wp_query;
query_posts(
array_merge(
$wp_query->query,
$args
)
);

if ( have_posts() ) : while ( have_posts() ) : the_post();

get_template_part( ‘/ploshadka.net’ );
endwhile;
endif;
wp_reset_query();
?>

11. Выводим одну конкретную страницу

В заключение как можно вывести вместо записи содержимое страницы. Выводим страницу с ID 130:

‘.apply_filters(‘post_title’, $t).’

English Query (запросы по теме на английском языке)

How To Use WP_Query In WordPress

Order Results WP_Query by Meta Value

Order by ASC, DESC in custom WP_Query

Sorting Query Results with Multiple Meta Keys

How to sort the result of wp_query

Читайте также

Кстати, на сайте нет рекламы. У сайта нет цели самоокупаться, но если вам пригодилась информация можете задонатить мне на чашечку кофе в макдаке. Лайкнуть страницу или просто поблагодарить. Карма вам зачтется.

Комментарии к статье “ Как вывести записи (посты) по произвольному полю в WordPress ” (2)

Очень классно! Полезная информация для всех! Наглядно и доступно! Спасибо автору!

Доброго времени. Подскажите, пожалуйста, как вывести посты автора на странице этого самого автора. То есть, в Записях есть выбор автора, вот по нему и вывести (не по имени, не по ID). Для автора (а их на сайте несколько) была создана страница в шаблоне author.php.
За ранее благодарю.

Добавить комментарий Отменить ответ

Если возникнут вопросы пишите на электронную почту.

Источник

Как вывести посты по рубрикам на отдельной странице в WordPress

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

Суть задачи – это вывести названия рубрик или отдельной рубрики на странице WordPress. Возникает вполне логичный вопрос для чего это нужно, ведь есть шаблон категории? Все правильно, но с точки зрения seo оптимизации шаблон категории не очень подходит для продвижения рубрик, его можно допилить с помощью произвольных полей, но можно использовать альтернативный подход – это вывод записей категории на странице WordPress.

Чем рубрика отличается от страницы? В первую очередь – это наличие возможности задать seo теги, такие как title и description даже при подключении бесплатных версий seo плагинов. Во-вторых – это возможность добавить описание с форматированием текста, привязать картинку. Все это также можно сделать на странице категории, но в данной статье мы рассмотрим пример использования шаблона страниц для этих целей.

Создание шаблона страницы

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

Для этого нужно зайти в папку с вашей темой по адресу: wp-content/themes/your_theme/. Для этого можно воспользоваться либо ftp клиентом, либо же панелью хостинга. Если вы новичок лучше перед началом работ сделайте бэкап сайта.

1. В корневой папке темы создаем файл, например category-page.php.

2. В ней же находим файл page.php и копируем его содержимое в файл category-page.php. Я использую дефолтную тему twentynineteen, и буду показывать на ее примере, вам же нужно учитывать html разметку вашего шаблона и копировать ваш код из файла page.php, внося изменения которые я покажу ниже.

3. Делаем из файла category-page.php шаблон страницы с помощью следующего кода.

4. Сохраняем. Идем в админку сайта в раздел «Страницы» — «Добавить новую». Указываем заголовок страницы, и справа в блоках настройки выбираем вкладку «Атрибуты страницы». В ней из выпадающего списка с названием «Шаблон», выбираем название шаблона которое мы задавали выше.

5. Сохраняем. Теперь можно работать с шаблоном и задавать код для вывода нужной нам информации на этой странице.

Задача 1. Вывести рубрики или отдельную рубрику на странице в WordPress.

Для этих целей мы будем использовать функцию get_categories(). Дополнительно мы зададим аргументы для этой функции. Вы в свою очередь можете более детально ознакомиться с этой функцией в этой статье.

Здесь указан код для работы со всеми категориями, присутствующими на сайте. Если вы хотите ограничить этот параметр и вывести одну рубрику, то в поле ‘include’ приведенного выше кода задайте id рубрики. Узнать его можно перейдя в админке в раздел «Записи» — «Рубрики», справа нажимаем на нужную рубрику и переходим на страницу ее редактирования. Сверху, в строке браузера вы сможете увидеть ее id.

Переходим в файл category-page.php и редактируем его содержимое следующим образом.

Как видно, вверху файла добавлен вызов функции get_categories() с аргументами, а ниже цикл перебора категорий подходящих под заданные нами параметры.

У вас должен получиться примерно такой результат.

Задача 2. Как вывести записи из рубрик на страницу в WordPress.

Для решения этой задачи будет использоваться класс WP_Query<>. Для вывода постов рубрики также задаем список аргументов, которые укажут параметры выборки. Опять открываем наш файл category-page.php и добавляем в него код для вывода записей.

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

Вот результат работы данного кода.

Чтобы вывести записи из определенной категории достаточно указать значение id для категории в аргументах к функции get_categories().

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

Используем плагины

Если вы не хотите создавать шаблоны и работать с кодом, тогда вы можете поставить один из многих плагинов с репозитория WordPress, которые помогут вам реализовать приведенный выше функционал. Есть целый ряд готовых решений, которые отличаются дизайном, количеством настроек и немного функционалом, например: List category posts, The Post Grid, Post Grid, WP Show Posts.

Для примера я покажу, как можно использовать плагин WP Show Posts.

1. Идем в админку, меню «Плагины» — «Добавить новый». Ищем в строке поиска название плагина «WP Show Posts». Устанавливаем и активируем его.

2. Слева в меню у вас появиться пункт «WP Show Posts». Переходим в него.

3. Сверху нажимаем «Add new».

4. На первой вкладке настроек можно выбрать: тип записи, таксономию (например, после выбора категории появиться список созданных вами категорий), количество постов и чекбокс для включения пагинации.

5. Вторая вкладка это выбор разметки, где можно задать количество колонок и отступы между ними.

6. Далее идут настройки изображений, и вывода контента записи, где вы можете задать длину краткого описания и тег для ссылки заголовка поста.

7. Вкладка meta. Позволяет указать выводить ли автора, дату, категорию и количество комментариев к каждому посту.

8. More settings включают в себя настройки по сортировке данных для вывода.

Задаем заголовок, указываем настройки и жмем справа опубликовать. Копируем шорткод справа в блоке «Usage».

После этого переходим в раздел «Страницы» — «Добавить новую». Указываем ее название, а в редакторе Gutenberg выбираем блок Шорткод, куда вставляем скопированный ранее код. Сохраняете и проверяете результат работы.

На этом сегодня все. Я постарался показать, как сделать страницу рубрикой WordPress плагином или же без плагинов с помощью кода. Надеюсь, материал был для вас полезен.

Источник

Оцените статью