post_limits
Змінює 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 Кількість записів, що виводяться в результатах пошуку
Демонстраційний приклад, що показує як можна змінити кількість записів, що виводяться на сторінці пошуку по сайту. Тут встановлюється 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 .
#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 | Введено. |
Де викликається хук
$limits = apply_filters_ref_array( 'post_limits', array( $limits, &$this ) );
Де використовується хук у WordPress
Використання не знайдено.