! Михалика - запросто с WordPress:
доступная ручная работа по правилам оптимального интернет(а)
Здравствуйте !

издатель:   в теме: Контент - кодингS  
Запросто с WordPress - студия занимательная МИХАЛИКА

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

О том, как организовать вывод различного количества постов (записей) на главной страничке или страницах архивов, эта статья и повествует: скажем, вам нужно выводить 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 студии занимательная Михалика
SendPulse - NoSpamX || Михалика ©

 

 


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


 

 


Благодарности)) и вопросы в комментариях - помогу… в чём дюжу
А также Вы можете просто:
Нажатия на кнопочки определяют Ваше высокое гражданское сознание
ещё статьи по теме:

меточная навигация:


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

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

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