Anzahl der Suchergebnisse für jeden Posttyp anzeigen

Unter Verwendung des folgenden Codes gibt meine Suche Ergebnisse von zwei verschiedenen CPTs zurück. Wie kann ich die Anzahl der Ergebnisse für jeden CPT anzeigen, bevor Ergebnisse angezeigt werden?

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 "Anzahl der Suchergebnisse für jeden Posttyp anzeigen"

Erstens ist Ihr callback zu pre_get_posts falsch. So funktioniert das set . Wenn das Debugging aktiviert war , würden Benachrichtigungen Notices . Es sollte sein:

 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' ); 

Zweitens, es ist nichts eingebaut, das mir bewusst ist, dass diese Zahlen an Sie zurückgeben werden, aber es ist nicht schwer, eine WordPress Core-function und eine PHP- function zu verwenden .

 $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 

Dieser Code sollte in der search.php Ihres Themes platziert werden.