


Блог IT-шника
Блог IT-шника
Привіт:) Покажу один хак, який дозволить вивести потрібну кількість постів на одній сторінці архіву всіх рубрик або якоїсь окремої.
У WordPress за замовчуванням в архіві всіх рубрик виводиться кількість постів, задана в адмін-розділі Налаштування > Читання, в опції Відображати не більше.
Ця опція одночасно застосовується для всіх рубрик. Але цю поведінку можна змінити.
Відкрийте файл functions.php
та додайте PHP-код
add_action( 'pre_get_posts', function( $query ) {
if ( ! is_admin() && $query->is_main_query() && is_category() ) {
$query->set('posts_per_page', 5);
}
}, 9999 );
У коді кількість постів 5
замініть на своє.
Якщо потрібно встановити кількість постів для конкретної рубрики, у рядку із функцією is_category()
вкажіть її слаг або ID.
is_category( 9 );
is_category( 'rubrika-1' );
Якщо потрібно вказати декілька категорій, використовуйте варіанти коду
is_category( [ 9, 'rubrika-1', 'rubrika-2' ] );
is_category( [ 9, 55, 68 ] );
Ще один варіант:
add_action( 'pre_get_posts', function( $query ) {
if ( !is_admin() && $query->is_main_query() ) {
if ( $query->is_category( 'rubrika-1' ) ) {
$query->set( 'posts_per_page', 2 );
}
if ( $query->is_category( 'rubrika-2' ) ) {
$query->set( 'posts_per_page', 3 );
}
}
}, 9999 );
Тут для архіву рубрики зі слагом rubrika-1
на одній сторінці виводиться 2 записи, а для rubrika-2
– 3.