post_limits хук-фільтрWP 2.1.0

Змінює LIMIT частину SQL запит перед тим, як отримати пости з бази даних за допомогою WP_Query.

Хук дозволяє визначити потрібне нам обмеження LIMIT у запиті при отриманні постів.

При внесенні змін до post_limits не забувайте про пагінацію.

Щоб видалити частину запиту LIMIT, поверніть у фільтр NULL. У цьому випадку запит поверне усі отримані результати без обмежень. Однак у цьому випадку параметр $wp_query->found_postsдорівнюватиме 0.

Використання

add_filter( 'post_limits', 'filter_function_name_11');
function filter_function_name_11( $limit ) {
	// Обробляємо передані дані...

	return $limit;
}

Параметри

$limit
(рядок)
Рядок, частина SQL запиту. Наприклад:
LIMIT 0, 25.

Приклади

1

#1 Кількість записів, що виводяться в результатах пошуку

Демонстраційний приклад, що показує як можна змінити кількість записів, що виводяться на сторінці пошуку по сайту. Тут встановлюється 25 результатів:

function my_post_limits( $limit ) {
	if ( is_search() ) {
		return 'LIMIT 0, 25';
	}
	return $limit;
}
add_filter( 'post_limits', 'my_post_limits');

Це демонстраційний приклад не для використання. Тому що такий код вимкне пагінацію, тому що для сторінок пошуку завжди повертатиметься “LIMIT 0, 25”. Щоб змінити кількість записів і не зламати пагінацію, краще встановити параметр posts_per_pageчерез хук-действие pre_get_posts .

0

#2 Змінимо кількість постів, що виводяться в RSS-стрічці

Зазвичай кількість постів, що виводяться у фіді, можна змінити в налаштуваннях. Але в деяких випадках такий варіант може не влаштовувати, тоді використовуйте такий код:

function how_many_posts_display_in_feed($query) {
	if( ! is_feed() )
		return;

	return 'LIMIT 25';
}
add_filter( 'post_limits', 'how_many_posts_display_in_feed');

список змін

З версії 2.1.0Введено.

Де викликається хук

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *