Попробуйте! Эта функция прервет поисковый запрос и добавит некоторое условие для запроса, возвращающее указанные c страницы.
//Filter the search for only posts and parts
function SearchFilter($query)
{
// Now filter the posts
if ($query->is_main_query() & $query->is_search && $search_template) {
$query->set('post_type', 'page');
$query->set('meta_key' => '_wp_page_template',);
$query->set('meta_value' => 'product.php');
}
// Returning the query after it has been modified
return $query;
}
add_action('pre_get_posts', 'SearchFilter');
Объяснение кода:
«Post_type» ограничит этот фильтр только типом поста.
Условие Этот фильтр будет ограничивать работу только по поисковым запросам, а не при каждом вызове запроса к сообщениям.
$query->is_search && $search_template
Эти параметры будут фильтровать возвращаемые сообщения по мета-ключу "_wp_page_template "который содержит шаблон страницы, поэтому мы возвращаем только страницы с шаблоном страницы" product. php ".
$query->set('meta_key' => '_wp_page_template',);
$query->set('meta_value' => 'product.php');