Я хочу иметь возможность включать сообщения, которые могут содержать поисковый запрос s как тег сообщения.
Код: Выделить всё
add_action('pre_get_posts','modify_search');
function modify_search($query)
{
if ($query->is_search() && $query->is_main_search() && !is_admin()) {
if (isset($_GET['post_type'])) {
$query->set('s', sanitize_text_field($_GET['s']));
$query->set('post_type', sanitize_text_field($_GET['post_type']));
}
}
Я пробовал несколько разных способов установки параметра «tax_query» для запроса, но безуспешно.
Цель состоит в том, чтобы иметь возможность перечислить все сообщения и элементы, в заголовке, содержании или выдержках которых может быть указан поисковый запрос, а также любые сообщения, содержащие поисковый запрос в качестве тега сообщения.
Будем очень благодарны за любую помощь.
РЕДАКТИРОВАТЬ:
Код: Выделить всё
function custom_search_filter($query) {
if ($query->is_search && !is_admin()) {
$tax_query = array(
'relation' => 'OR',
array(
'taxonomy' => 'post_tag',
'field' => 'name',
'terms' => $query->query_vars['s'],
),
);
// Debugging output
error_log(print_r($tax_query, true));
$query->set('tax_query', $tax_query);
}
}
add_action('pre_get_posts', 'custom_search_filter');
Я не хочу менять метод по умолчанию для поиск по заголовку, содержанию или отрывку, я просто хочу подключиться к поиску и ТАКЖЕ отобразить любые сообщения, которые могут содержать указанный поисковый запрос.
Я добавлю, что у меня также есть форма с флажками, которые я фильтрую результаты на основе cpt, но это не имеет отношения к этой задаче
Подробнее здесь: https://stackoverflow.com/questions/775 ... sult-a-pos