- Как вывести посты по рубрикам на отдельной странице в WordPress
- Создание шаблона страницы
- Задача 1. Вывести рубрики или отдельную рубрику на странице в WordPress.
- Задача 2. Как вывести записи из рубрик на страницу в WordPress.
- Используем плагины
- Вывод постов на странице, постраничная навигация
- Плагин постраничной навигации WP-PageNavi
- Комментарии — 32
- Как вывести все записи WordPress на одной странице
- Зачем и когда нужно выводить все записи на одной странице?
- Выводим все записи WordPress на одну страницу
- Способ 1: Используем плагин Display Posts Shortcode
Как вывести посты по рубрикам на отдельной странице в 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 плагином или же без плагинов с помощью кода. Надеюсь, материал был для вас полезен.
Источник
Вывод постов на странице, постраничная навигация
Прежде чем я покажу готовый код, давайте подробнее рассмотрим, что имеется ввиду в заголовке и когда это лучше применять.
Вывести посты на странице в WordPress — это значит создать шаблон страницы (page template) и забацать туда цикл, query_posts.
Для чего нужно такое вытворять? Рассмотрим несколько вариантов:
- представьте, что вам нужно вывести на одной странице записи сразу из нескольких категорий
Вообще можно скомбинировать любые условия, используя эту статью. Параметры, которые описаны для WP_Query также подойдут и для query_posts.
Теперь я думаю порядок действий вам понятен? Создаете шаблон страницы, пихаете наверх query_posts, потом цикл, потом постраничную навигацию…
Кстати о ней. Просто так она не будет работать. Как это исправить?
Пожалуй стоит описать порядок действий более подробно.
- Создать шаблон страницы.
- Определить номер текущей страницы.
- Использовать query_posts с необходимым набором аргументов, при этом не забыв включить в него номер текущей страницы.
- Добавить цикл.
- Добавить функцию постраничной навигации, например wp_pagenavi().
А теперь полностью готовый код:
Это конечно же обобщенный пример, поэтому не забудьте про get_header() и get_footer(), если они у вас используются.
Плагин постраничной навигации WP-PageNavi
В предыдущем примере я использовал функцию wp_pagenavi() . Она отвечает за постраничную навигацию и является составляющей частью плагина WP-PageNavi (русское название: Список страниц).
Если вы используете данный код как есть и при этом у вас не установлен WP-PageNavi, то вероятнее всего вы получите ошибку.
Плагин очень легко устанавливается через админку сайта и так же легко настраивается — так что для этих целей рекомендую использовать именно его.
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Комментарии — 32
Кучу статей перерыла, чтобы решить свою проблему с навигацией на пользовательской странице — ничего толкового нигде нет. И только ваша статья действительно помогла. Спасибо!
я рад, что смог помочь))
Почитал Ваш пост, чувствую, что ответ где то здесь :).
Такая задача. Есть статья на 12 килознаков, я хочу разбить её на 3 части. По нажатию на ссылку на статью в меню, читатель должен попадать на вначале первую часть, далее читает вторую часть и напоследок третью. Однако в начале каждой части должна быть ссылка на статью в полном варианте, для тех кто хочет открыть сразу всю статью и читать не листая страницы туда-сюда. Понятно что нужно сделать три страницы для каждой из трех частей отдельно. Но как их собрать в кучу? подойдет ли для этого код помещенный в статье, там речь идет о постах (записях) а не о страницах? Или можно как то проще это реализовать?
попробуй сделать GET-запрос в single.php)
Я правильно понимаю вставляю код на свою страницу в таком виде
почемуто не работает.
Классная статья, очень помогла!
Спасибо тебе Огромное!)
пожалуйста) рад, что помог)
Все понял теперь выводятся.
Может быть сможеш разобратся как сделать чтобы хлебные крошки работали на странице. допустим страница у меня «Новости» на ней выводятся заметки из категории допустим «Блог» вот когда я на странице «Новости» перехожу по заметке то в хлебные крошки пдстовляется уже не «Новости» а «Блог» и потом название заметки.
Хлебные крошки использую от dimox
суй код после хлебных крошек)
Привет, подскажи пожалуйста как вывести 3 определенные записи в слайдер, (например: post=754,234,432)? Спасибо
используй параметр post__in = array(754,234,432) для query_posts.
Полный список параметров смотри здесь.
А можешь показать куда вставить)(что удалить) на примере
тот огрызок кода вообще нерабочий) на третьей строчке есть две скобки — где они открываются?
Спасибо, информация очень помогла.
Спасибо! Очень полезная и позновательная статья.
Наконец-то все работает) Спасибо))
У меня вопрос: Пытаюсь таким куском кода на одной странице выводить посты с разных категории, но столкнулась с проблемой: как только нет постов с такой категории — то дальнейшие if-ы уже не обрабатываются. Почему? Разве if не подразумевает, что если нет подходящего условия — идти дальше? Почему обрывается исполнение?
Попробуйте небольшие изменения:
Вы мой спаситель))
Это логично ставить изначально условие)) Спасибо еще раз)
пожалуйста) рад помочь)
Задача была такая: вывести на главной странице посты из 2-х категорий с id 102 и 103, с сортировкой по дате добавления в хронологическом порядке, и с количеством постов на странице 12 шт. Получилось вот так:
Все отлично работает, но вот беда все же одна есть: на главной странице отображаются посты из нужных категорий, т.е. с id 103 и 102, а вот на второй странице отображаются посты из всех других категорий, к примеру, с id 3 или 4 или 5. В принципе, мне и не нужна эта вторая страница вовсе (эта та, которая выглядит как сайт.ru/page/2/, т.к. вся нужная мне информация присутствует на первой. Но вот как от этой второй и последующих страниц избавиться?
Посмотрела, у меня в шаблоне index.php количество страниц задано через переменную
В php не сильна, но пришла такая мысль в голову: может, присвоить этой переменной значение 1, и все? Подскажите, пожалуйста, как решить проблему.
Источник
Как вывести все записи WordPress на одной странице
Опубликовано: ADv Дата 29.05.2016 в рубрике Плагины WP 1 комментарий
Хотели бы вы вывести все ваши записи WordPress на одной странице? Недавно один из наших читателей интересовался, как создать страницу архива и вывести на ней все записи. В сегодняшней статье мы покажем вам как отобразить все ваши статьи WordPress на одной странице без пагинации.
Зачем и когда нужно выводить все записи на одной странице?
В WordPress есть строенная страница архива для каждой рубрики, тегов, авторов и даты.
Многие владельцы сайтов, всё же предпочитают создавать собственные страницы архивов на своих сайтах. На этих страницах обычно выделяют популярные записи, выводят архив по датам в виде аккордеона, отображают список рубрик или же облако тегов и т.д.
Некоторые блоги предпочитают просто выводить список заголовков для всех записей WordPress на одной странице.
Выводим все записи WordPress на одну страницу
Существует множество различных способов для отображения всех записей на одной странице. Можно вывести статьи а страницу шорткодом, можно отобразить их с помощью плагина, и, никонец, можно показать все записи на странице при помощи произвольного шаблона и цикла.
Мы расскажем о всех трех способов, и начнем с самого простого.
Способ 1: Используем плагин Display Posts Shortcode
Первым делом вам необходимо установить и активировать плагин Display Posts Shortcode.
Плагин работает «из коробки» и не нуждается в дополнительной настройке.
Продолжаем, и создаем новую страницу, называем её «Архивы» или как пожелаете. После этого вставляем в неем следующий шорткод:
Этот шорткод выведет простой список всех заголовков ваших записей в хронологическом порядке. В параметрах шорткода указан лимит на 1000 записей на страницу.
Если же у вас более тысячи постов, то можно изменить это значение. Также вы можете изменить порядок записей на ASC, и при этом записи станут отображаться в обратном хронологическом порядке (сначала старые записи).
Хотя вы можете использовать вышеуказанный шорткод для отображения цитат, миниатюр и другой сопутствующей информации, мы не рекомендуем это делать. В виду того, что вы выводите все свои записи на одной странице, эта страница будет очень длинной, и нужно сделать так, чтобы она была максимально простой и красивой. Здесь как раз будет уместно вывести только лишь заголовки записей.
Если же вам потребуется вывести записи на странице в зависимости от рубрики или по другим параметрам, то сделать это можно будет, ознакомившись с документацией плагина.
Источник