возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Контент, шапка site
Запросто с WordPress создание и продвижение сайтов ATs media

Задаём различное количество выводимых записей на главной и страничках архивов сайта

О том, как организовать вывод различного количества постов (записей) на главной страничке или страницах архивов, эта статья и повествует: скажем, вам нужно выводить 7 статей на главной и 10 в рубриках, но 5 в архиве тегов и т.п.

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

Одно из преимуществ кода настройки количества записей в архивах: сокращение запросов к БД – иными словами – экономия ресурсов.

Занавес… открывается))


как вывести нужное количество постов в архивах сайта

 

 

 

 

Для того, чтобы количество записей, скажем, в категориях было меньше числа выводимых записей на главной страничке, или как-то наоборот, – нужно прописать такой код (показанный чуть ниже) в файл functions.php… либо же в отдельный плагин: как такой плагин организовать, смотрите тут.

 

 

Чем этот код примечателен??

В вордпресс существует глобальная настройка posts_per_page для задачи количества выводимых записей (админка/настройки/чтения) для всех типов архивов: другими словами – единый глобальный запрос к БД.

 

 

как вывести нужное количество постов в архивах сайта

 

 

 

Однако изменить параметр настройки отображения количества записей на страничках архивов сайта возможно до основного (глобального) запроса к Базе Данных – это, как и говорилось выше, будет полезно в целях экономии ресурсов (на лишних обрабатываемых запросах)…

Если воспользуетесь кодом, то, замените в админке ваши прежние значения количества выводимых постов на значение единицы (1)

 

 

 

Всё что нам потребуется для реализации сегодняшней задачи, это такой хук (или событие) из арсенала вордпресс pre_get_posts – с его помощью перезапишем параметры posts_per_page и для архива с произвольным типом записи tv-set – примера ради…

…а заодно и зададим параметры архивов вообще… (как вариант)

 

 

/** количество постов выводимых на стр. архивов - и произвольный тип записей **/
function hwl_home_pagesize( $query ) {
// Пример вывода, если это админ-панель или не основной запрос.
if ( is_admin() || ! $query->is_main_query() )
return;

if ( is_home() ) {
// Выводим только 8 постов на главной странице
$query->set( 'posts_per_page', 8 );
return;
}
if ( is_tag() ) {
// Выводим только 8 постов на странице тегов
$query->set( 'posts_per_page', 8 );
return;
}
if ( is_category() ) {
// Выводим только 8 постов на странице категорий
$query->set( 'posts_per_page', 8 );
return;
}
if ( is_search() ) {
// Выводим только 8 постов на странице поиска и т.д.
$query->set( 'posts_per_page', 8 );
return;
}
// пример вывода количества записей архива tv-set
if ( is_post_type_archive( 'tv-set' ) ) {
// Выводим 20 записей если это архив типа записи 'tv-set'
$query->set( 'posts_per_page', 20 );
return;
}
}
add_action('pre_get_posts', 'hwl_home_pagesize', 1 );
/** количество постов выводимых на стр. архивов **/

 

 

 

Код, конечно, можно организовать несколько короче – не прописывать для каждого архива отдельные правила (если количества равны)… а сгруппировать.

Однако я показал такой вариант: на мой взгляд, этим способом можно (коли в том нужда) более тонко настроить количественную структуристику сайта))

 

 

Напоминаю: код реализован на примере решения настройки количества выводимых постов в произвольном архиве типа “tv-set” – это тем, которые пользуются своими типами… помимо рубрик и тегов… (хотя это в среде блогеров, думается, встречается оч. реденько – и об этом в следующих публикациях)…

Как видите, задан параметр вывода 20-ти записей…

 

 

Если кому-то нужно, чтобы в архивах как-то более тонко настроить отображение информации, читайте, например, о том, как вывести в архиве одни только тайтлы (title) статей и т.п

 

 

 

Как запретить вывод определённой записи или рубрики на главной странице сайта или поста в каком-то архиве..? читайте здесь.

 

 

 

Эпилог:

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

 

 

 

Удачи вам..! и до встречи.

 


На этом занавес представления опускается…
…на рампы пыль печальная ложится…

 

 

Подписаться на life-News ATs media squad
SendPulse - NoSpamX || ATs media ©

 

 


!..подписываясь на обновления mihalica.ru
...расстаёмся с невежеством..!


 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©