wpfts_pre_get_posts (Filter)
Фильтр wpfts_pre_get_posts
в WP Fast Total Search вызывается непосредственно перед выполнением основного запроса WP_Query
при использовании виджета поиска WPFTS. Это дает разработчикам возможность модифицировать параметры запроса перед тем, как он будет выполнен, что позволяет гибко настраивать поиск в виджете.
Когда используется
Этот фильтр полезен в следующих случаях:
- Изменение параметров запроса в зависимости от настроек виджета: Вы можете модифицировать параметры запроса, такие как
posts_per_page
,post_type
,post_status
и другие, на основе настроек виджета WPFTS. - Добавление дополнительных параметров в запрос: Вы можете добавить свои собственные параметры в запрос, которые будут использованы вашим аддоном или темой.
- Отладка запросов виджета: Вы можете использовать этот фильтр для вывода параметров запроса и отладки вашей интеграции с WPFTS.
Аргументы
&$wpq
(object): ОбъектWP_Query
, который будет использован для выполнения запроса. Передается по ссылке, поэтому изменения, внесенные в этот объект, будут сохранены.$wdata
(array): Массив данных настроек виджета WPFTS. Содержит такие ключи, какtitle
,wpfts_wdgt
,placeholder
и другие. Позволяет получить доступ к настройкам текущего виджета, чтобы изменить параметры запроса в зависимости от этих настроек.
Возвращаемое значение
- Фильтр
wpfts_pre_get_posts
не должен возвращать никакого значения, так как объектWP_Query
передаётся по ссылке.
Пример (изменение количества постов на странице)
add_filter( 'wpfts_pre_get_posts', 'my_wpfts_pre_get_posts', 10, 2 );
function my_wpfts_pre_get_posts( &$wpq, $wdata ) {
if ( $wdata['id'] == 'my_custom_widget' ) { // проверяем ID виджета
$wpq->set( 'posts_per_page', 5 ); // устанавливаем количество постов на странице равным 5
}
}
Важные замечания
- Фильтр
wpfts_pre_get_posts
вызывается только при использовании виджета поиска WPFTS. - Объект
$wpq
передается по ссылке, поэтому любые изменения, внесенные в него внутри обработчика фильтра, будут влиять на выполняемый запрос. - Будьте осторожны при изменении параметров запроса, так как это может повлиять на работу виджета и плагина в целом.
- Этот фильтр вызывается после того, как плагин обработал настройки пресета, поэтому вы можете переопределить настройки пресета внутри обработчика этого фильтра.
Фильтр wpfts_pre_get_posts
предоставляет разработчикам мощный инструмент для тонкой настройки поисковых запросов, выполняемых через виджет WPFTS.