Существует фильтр с именем posts_where_paged
, который выдаст вам часть WHERE генерируемого SQL-запроса.Измените это с помощью ваших дополнительных необходимых сравнений SQL.Таким образом, вы не меняете способ загрузки страницы WordPress, вы просто изменяете данные, которые он извлекает из базы данных.
Если данные, которые вы извлекаете, не находятся в обычном наборе таблиц, которыезапрашивается во время поиска, тогда вам также придется изменить таблицы, просматриваемые фильтром posts_join_paged
.(по крайней мере, я так думаю;))
Посмотрите на строку 2376 в wp-includes / query.php, чтобы увидеть фильтры, которые вы можете использовать для изменения запроса к базе данных.