Intereting Posts
Опубликованный контент не отображается, получение не найденного сообщения Как узнать, какой приоритет использовать с add_action ()? Как я могу использовать шаблоны CPT по умолчанию из подпапки? Есть ли плагин или что-то, что позволяет вам использовать BuddyPress, не создавая тему, поддерживающую BuddyPress? Сбросить позиции метабокса в админ Перенаправление переназначения с «День и имя» на «Почтовое имя» Активность BuddyPress в редакции для CPT Я регистрирую и устанавливаю таблицу стилей, но ничего не отображается Список всех сообщений под заголовком в меню wp_list_pages общий кэш w3 и sitemap.xml Как запустить JS, PHP и т. Д. Внутри WP-сообщения? Как заказывать сообщения пользовательской ролью WP? Использование крючков действия внутри короткого кода wp_insert_term – проблема родителя и ребенка Мой вопрос: когда я начал свой сайт, всегда возникала ошибка «страница не найдена»

Отображение количества результатов поиска для каждого типа сообщения

Используя приведенный ниже код, мой поиск возвращает результаты двух разных CPT. Как показать количество результатов для каждого CPT перед отображением результатов?

function more_posts_per_search_page( $query ) { if ( !is_admin() && $query->is_main_query() ) { if ( $query->is_search ) { $query->set( array( 'posts_per_page' => 500, 'post_type' => array( 'author', 'book' ) ) ); } } } add_action( 'pre_get_posts','more_posts_per_search_page' ); 

Solutions Collecting From Web of "Отображение количества результатов поиска для каждого типа сообщения"

Во-первых, неправильный pre_get_posts на pre_get_posts . Это не так, как работает . Если у вас включена отладка , вы увидите Notices . Должен быть:

 function more_posts_per_search_page( $query ) { if ( !is_admin() && $query->is_main_query() ) { if ( $query->is_search ) { $query->set('posts_per_page',500); $query->set('post_type',array( 'author', 'book')); } } } add_action( 'pre_get_posts','more_posts_per_search_page' ); 

Во-вторых, нет ничего встроенного в том, что я знаю, что вернет эти числа вам, но это не сложно сделать с использованием функции WordPress Core и PHP .

 $types = wp_list_pluck($wp_query->posts,'post_type'); // var_dump($types); // debugging $types_count = array_count_values($types); var_dump($types_count); // your data 

Этот код должен быть помещен в search.php вашей темы.