WordPress вывод данных на страницу

Содержание
  1. Различные возможности вывода записей на странице WordPress
  2. Как осуществить вывод записей из одной категории на странице другой категории при помощи кода
  3. Featured Posts with thumbnails
  4. Posts per Cat
  5. Content Views
  6. Получение и вывод записей/постов WordPress — WP_Query и get_posts()
  7. Отладка
  8. Изменение базового запроса
  9. Параметры GET запроса
  10. Использование WP_Query для получения записей
  11. Методы получения записей
  12. Фильтры записей
  13. Основные фильтры и параметры запроса
  14. Фильтр по дереву (иерархии)
  15. Фильтр по категориям
  16. Фильтр по тегам (меткам)
  17. meta_query — фильтр по мета данным
  18. tax_query — фильтр по таксономиям
  19. Примеры запросов
  20. Вывод записей
  21. Цикл вывода записей
  22. Дополнительные/мета поля
  23. post_meta
  24. WP_Query: query_vars
  25. setup_postdata($post)
  26. Полезные php-функции WordPress
  27. Навигация по статье:
  28. Вывод названия и описания сайта в любом месте шаблона
  29. Где вставлять этот код?
  30. Вывод контента любой записи или страницы по id
  31. Как узнать идентификатор записи или страницы?
  32. Вывод формы поиска WordPress в любом месте шаблона

Различные возможности вывода записей на странице WordPress

Время на чтение: 4 минуты

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

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

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

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

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

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

Найдите файл category.php (в некоторых темах WordPress он называется archive.php). Он как раз отвечает за отображение информации на определенной странице выбранной категории. Если планируете настроить главную страницу, тогда вам предстоит отредактировать файл index.php (иногда в темах WordPress его именуют content.php).

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

а точнее добавить строку кода перед тегом while. Найдите строчку такого вида

Именно она поможет вывести записи выбранной вами рубрики на странице. Цифра 2 в этом коде — это ID категории. Если хотите сменить ее, тогда просто смените цифру на ID другой рубрики. Либо пропишите через запятую сразу несколько разделов, вывод которых вы хотите осуществить.

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

Читайте также:  3 0x00000003 системе не удается найти указанный путь 1с

С этим модулем WordPress вы сможете не только настроить вывод рубрики, но и создать привлекательные блоки с определенными записями. Эти блоки можно будет украсить по своему усмотрению, и добавить миниатюры изображений для записей.

Плагин Featured Posts with thumbnails предоставляется бесплатно и работает со всеми версиями движка Вордпресс. С ним вы сможете настроить вывод последних постов, либо задать категории, которые необходимо вывести в блоке. Модуль позволяет создавать блоки с определенным названием, заданным количество записей на странице и выбранным размером миниатюр изображений. Огромное преимущество плагина в том, что вы можете не только настроить вывод категории на странице, но и создать собственный «микс» статей, добавляя их по отдельности.

Posts per Cat

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

Возможности модуля Posts per Cat:

  • отображение записей в одной или нескольких колонках (до 4);
  • в настройках можно указать ID рубрики, которые вы хотите добавить в блок, и которую вы хотите исключить;
  • записи можно сортировать по названиям и другим параметрам;
  • можно в превью записи добавить информацию о посте (отобразить количество комментариев, добавить миниатюру изображения, вводный абзац и другое);
  • стиль блоков можно настроить при помощи CSS;
  • модуль дружит с поисковиками — оптимизирует информацию для ПС-машин.

Content Views

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

И помните, что вы делаете это (настраиваете вывод записей) не ради красоты, а ради повышения юзабильности вашего блога. Только тот сайт станет успешным, который понятен и интересен посетителям!

Источник

Получение и вывод записей/постов WordPress — WP_Query и get_posts()

Параметры запроса постов и таксономий WordPress. Примеры фильтров и способов рендеринга постов, категорий и кастомных таксономий.

Для каждой страницы ядро WordPress формирует запрос к БД для получения записей на основе параметров GET запроса. Параметры запроса постов устанавливаются в глобальном объекте $wp_query . При необходимости, вы можете модифицировать этот базовый запрос иди же сформировать новый объект запроса к БД — WP_Query .

Внимание!

Не вызывайте ф-цию get_posts() и не используйте класс WP_Query непосредственно в файле functions.php! Получите мучительно долгую отладку неработающего запроса. Используйте запросы WP_Query внутри хуков или в самих шаблонах.

Внимание!

Никогда не используйте функцию query_posts() ! Эта ф-ция используется ядром WP для формирования основного запроса на получение постов по GET параметрам URL/ЧПУ. Вызвав эту ф-цию, вы замените глобальный объект основного запроса — $wp_query . Для дополнительных кастомных запросов всегда используйте WP_Query или обертку get_posts() .

Если вы все же изменили глобальную переменную $wp_query (что не рекомендуется!) с помощью функции query_posts() , верните ее в исходное состояние с помощью wp_reset_query() . И убедитесь, что вы делаете все правильно..

Читайте также:  Wordpress что такое nonce

Отладка

SQL запрос объекта WP_Query хранится в свойстве request:

Изменение базового запроса

Задать параметры основного/базового запроса глобальный объект запроса вы можете только через хук pre_get_posts :

Параметры GET запроса

Использование WP_Query для получения записей

Сразу приведу пример полного цикла вывода записей/постов:

Примечание

Ф-ция wp_reset_postdata() восстанавливает глобальную переменную $post из глобального объекта $wp_query:

Далее подробно рассмотрим детали каждого этапа и дополнительных возможностей.

Методы получения записей

Получение одной записи/поста по id или slug:

Примечание

Функция get_post() — это обертка над WP_Post , она принимает дополнительные параметры $output и $filter:

Сформировать новый запрос для получения записей/постов WP_Query :

Получение записей/постов используя функцию get_posts() :

Примечание

Функция get_posts() — это просто обертка над WP_Query . Принимает массив с теми же параметрами для фильтрации постов. В отличие от query_posts() , она не вмешивается в глобальный запрос $wp_query , а создает отдельный экземпляр класса WP_Query . Также ф-ция get_posts() устанавливает некоторые дефолтные значения:

Фильтры записей

Основные фильтры и параметры запроса

Примечание

paged — Номер страницы пагинации. Показывает посты, которые в обычном режиме должны были быть показаны на странице пагинации Х. Переписывает параметр posts_per_page.

page(число) — Номер для статической домашней страницы. Показывает записи, которые в обычном режиме должны были быть показаны на странице пагинации Х главной статической странице (front page).

Примечание

Примечание к типам постов:

Фильтр по дереву (иерархии)

Фильтр по категориям

Примечание

При использовании фильтра post_in , WordPress будет извлекать «прикрепленные» записи, даже если их ID нет в массиве! Чтобы отключить вывод «прилепленных» записей — передайте параметр ignore_sticky_posts .

Фильтр по тегам (меткам)

meta_query — фильтр по мета данным

Параметр meta_query представляет массив вложенных параметров фильтрации записей/постов по мета данным.

tax_query — фильтр по таксономиям

Фильтр по категории кастомных постов:

Фильтр по категории и тегам:

Примеры запросов

Получить дочерние страницы для текущей страницы:

Всего доступно постов:

Добавить фильтр запроса «посты только с изображениями»:

Вывод записей

Цикл вывода записей

Примечание

Используйте wp_reset_postdata() для «сброса» значения глобальной переменной $post к состоянию основного запроса, после завершения любых циклов обхода записей! Поскольку каждый the_post() заменяет глобальные переменные, вы можете обнаружить, что на странице записи, например, переменная $post содержит не основной пост, а какой-то другой. Который скорее всего будет последним постом из какого-то цикла.

Дополнительные/мета поля

post_meta

Получить мета поля:

Получить ссылку на основное изображение поста:

WP_Query: query_vars

Получить объект (пост или таксономия) запроса для текущего маршрута/ЧПУ:

Получить параметры запроса для текущей страницы:

Получить параметр запроса WP_Query текущей страницы (поста или записей раздела):

Получить объект параметров основного GET запроса текущей страницы. Параметры формируются в зависимости от страницы — это может быть набор параметров для получения поста на странице поста, или параметры получения списка постов на страницах категории/архива.

Пример получения название категории для архива:

setup_postdata($post)

Извлекает данные поста и формирует глобальные переменные поста. Использует переданную переменную $post и глобальный объект запроса $wp_query. Создаются следующие глобальные переменные: $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages.

Функция работает только при условии, что вы передаете ей глобальный объект поста с именем $post. Если у вас объект поста находится в другой переменной — установите $post = $myWpPost, после чего передайте $post в эту ф-цию. Я не очень понимаю как работает эта ф-ция, если передавать ей ID поста вместо $post.

Читайте также:  Error is 0x80070005 0x0004dc 0x000524

$found_posts — количество найденных записей

$query_vars — аргументы запроса

Получение отдельных полей поста (post_type, post_title, post_status, post_content..):

Источник

Полезные php-функции WordPress

Здравствуйте, дорогие читатели!

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

Вывод названия и описания сайта в любом месте шаблона

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

Для того чтобы задать или изменить своё название и описание в админке WordPress заходим в раздел «Настройки»«Общие»

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

Где вставлять этот код?

Если вам нужно вывеcти эти данные в шапке сайта, то делаем следующее:

    1. Открываем файл header.php, который находится по адресу:

Footer.php – отвечает за вывод нижней части сайта (подвала)
Sidebar.php – вывод боковой части сайта (сайдбара)

Вывод контента любой записи или страницы по id

Так же часто возникает необходимость вывести произвольный текст в определённом месте шаблона. Для этого мы можем поступить следующим образом:

  1. 1. В админке WordPress создаём отдельную страницу или запись и вносим туда нужный текст.
  2. 2. Открываем файл темы, в котором нужно вывести этот текст. Это может быть шапка сайта, подвал или созданный вами шаблон страницы.

Где вместо 123 будет идентификатор вашей страницы или записи.

  • 4. Сохраняем изменения и при помощи CSS задаём нужные стили
  • Как узнать идентификатор записи или страницы?

    1. 1. Заходим в раздел «Страницы» =>«Все страницы» или «Записи» =>«Все записи» (в зависимости от того что вы создавали)
    2. 2. Наводим курсор мышки на название нужной страницы и в нижнем левом углу окна браузера появляется довольно странная ссылка, в которой можно рассмотреть этот самый ID.

    Он представляет собой число которое идёт после записи «post=»

    Аналогичным образом можно вывести миниатюру записи по ID и ссылку на неё:

    Вывод формы поиска WordPress в любом месте шаблона

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

    Выглядит она так:

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

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

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

    Источник

    Поделиться с друзьями
    КомпСовет
    Adblock
    detector