Как выводить кастомные типы записей в поиске
По умолчанию 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.
Информация прямиком из туториала.
По умолчанию WordPress не включает кастомные типы записей в архивы категорий и тегов. Из-за этого вам…
Итак, суть проблемы — при переходе на 2-3 и так далее страницы блога возникает 404…
Простой способ подключить вместо стандартной пагинации WooCommerce woocommerce_pagination пагинацию с помощью плагина WP-PageNavi. Устанавливаем и…
Repeater Templates index.php home.php