По умолчанию WordPress не включает пользовательские типы записей в результаты поиска. Из-за этого вам нужно самостоятельно добавить кастомные посты в цикл.
Вы добавите следующие фрагменты в файл functions.php
вашей темы или, если хотите, в сборку настраиваемого плагина только для вашего собственного веб-сайта.
Добавление всех кастомных типов записей CPTUI в результаты поиска.
function my_cptui_add_post_type_to_search($query) {
if (is_admin()) {
return;
}
if ($query->is_search()) {
$cptui_post_types = cptui_get_post_type_slugs();
$query->set(
'post_type',
array_merge(
array('post'), // May also want to add the "page" post type.
$cptui_post_types
)
);
}
}
add_filter('pre_get_posts', 'my_cptui_add_post_type_to_search');
В этом коде мы проверяем, выполняет ли WordPress поиск. Если это так, то мы извлекаем массив всех слагов кастомных постов на основе CPTUI
и объединяем его в массив с типом поста 'post'
. Создав этот массив, мы передаем всё это в параметры запроса, чтобы WordPress знал, что нужно выполнять поиск по всем этим параметрам.
Добавление в результаты поиска только некоторых типы кастомных записей CPTUI.
function my_cptui_add_post_type_to_search($query) {
if ($query->is_search()) {
// Replace these slugs with the post types you want to include.
$cptui_post_types = array('my_post_type', 'my_other_post_type');
$query->set(
'post_type',
array_merge(
array('post'),
$cptui_post_types
)
);
}
}
add_filter('pre_get_posts', 'my_cptui_add_post_type_to_search');
Этот фрагмент будет очень похож на первый, за исключением того, что мы включаем только определенные типы записей из CPTUI
.
Информация прямиком из туториала.