[PHP] Как отобразить на странице Блог статьи из одной или нескольких рубрик

  Автор:
  1055

По-умолчанию в WordPress, на странице со статьями (Главная или страница Блог, если Главная статическая),  отображаются все статьи в обратном хронологическом порядке. Чтобы изменить этот порядок и, например, вывести не все статьи, а только статьи из определенной рубрики, необходимо создать произвольную функцию с новыми правилами и внести изменения в действия (add_action) WordPress. Звучит сложно, но сделать просто.

Благодарю за вопрос Елену:

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

Благодаря действиям (actions) и фильтрам (filters) WordPress разработчики могут создавать шаблоны и плагины, а также вносить изменения в существующие шаблоны меняя внешний вид сайта и правила заданные в WordPRess. Меняя ядро WordPRess мы не вносим изменения в сами файлы WordPress. Новые функции, как правило записываются в шаблон в специальный файл functions.php или в отдельный плагин с файлом произвольных функций.

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

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

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

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

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

2. Далее установите этот плагин на блог и активируйте его. Теперь мы можем в файл плагина вставить новую функцию. Для этого

3. Зайдите в раздел Плагины — Редактор

4. Выберите из списка справа плагин «Индивидуальные функции» и нажмите на кнопку «Выбрать»

5. Вставьте в файл следующий код (Ничего не удаляйте в этом файле. Код вставьте стразу после шапки.):

function my_home_category( $query ) {
 if ( $query->is_home() && $query->is_main_query() ) {
 $query->set( 'cat', '1');
 }
}
add_action( 'pre_get_posts', 'my_home_category' );

И замените ID рубрики (в 3-ей строчке кода) на ID рубрики статьи, из которой вы хотите отобразить статьи на странице. Если вы хотите, использовать несколько рубрик, укажите их ID через запятую.

6. Нажмите на кнопку «Обновить файл»

 

Как узнать ID рубрики WordPRеss

1. Зайдите в раздел ЗаписиРубрики

2. Наведите мышку на рубрику, которую хотите использовать и нажмите на ссылку Изменить

4. В адресной строке скопируйте ID рубрики (после аттрибута tag_ID= в ссылке)

На этом все. Напишите в комментариях, что у вас получилось.

P.S. Если вам интересна тема разработки сайтов на WordPress или улучшение своего сайта/блога на шаблоне AB-Inspiration с помощью стилей CSS, HTML и функций WordPress, напишите об этом в комментарии. Также буду рада, ответить на ваши вопросы.

[PHP] Как отобразить на странице Блог статьи из одной или нескольких рубрик

   4 голоса
Средняя оценка: 5 из 5
Вы находите данную статью полезной или интересной? Поделитесь ею, пожалуйста, с другими - просто нажмите на кнопки ниже:
Самые Важные Оповещения Блога + Четкий Комплект Ценных Подарков ДЛЯ БЛОГЕРОВ И ФРИЛАНСЕРОВ
Оставьте свой комментарий:
9 комментариев
  1. Спасибо, Анфиса! Только увидела статью, написанную по моему запросу. Завтра попробую все сделать. Благодарю!

    • Елена, спасибо большое за ваш интересный вопрос. Отпишитесь, что получилось в итоге :)

      • Всё получилось! Всё очень просто по вашей инструкции. Спасибо огромное! Я так понимаю через этот плагин можно дописывать функции вордпресса? Я в файл catecory.php добавила функцию, чтобы записи отобразились в виде картинок с постами https://moderngranny.ru/category/igrushki/ . Как мне прописать это через плагин?

        • Елена, да можно. Просто откройте файл category.php и вырежьте функцию, которую вставили = > сохраните изменения => откройте файл плагина «Индивидуальные функции» для редактирования и вставьте вырезанную функцию в него. Сохраните изменения

      • Анфиса, у меня еще вопрос: Можно ли на главной закрепить одну статью, чтобы она всегда оставалась первой или просто перед выводом рубрики главной страницы сделать поле для вывода текста.?

  2. А я что-то не поняла, зачем это надо. Ведь есть карта сайта, в ней можно выбрать нужную рубрику и читать все статьи конкретной рубрики.

    • Обычный посетитель не будет лазить по карте сайта. Он попал на сайт и должен получить представление, что ему здесь предлагают, а не выискивать в списке статей. Поэтому на главной нужно разместить самые важные статьи (с ключевыми запросами). Например, у меня есть рубрика «наша дача». Но она не относится к тематике сайта, а является второстепенной. Поэтому статья на главной, например, по обзору водонагревателя, смотрится весьма странно на сайте с названием «Как развивать ребенка» :-D

на Блоге
в Фейсбук
в Вконтакте