显示每种帖子类型的搜索结果数

时间:2014-02-23 作者:drake035

使用下面的代码,我的搜索返回来自两个不同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\' );

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

首先,您的回拨pre_get_posts 是错误的。那就是not the way that set works. 如果你有debugging enabled, 你会看到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 function 和aPHP one.

$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.

结束

相关推荐

Search CPT Title AND Meta

我目前有一个CPT我想搜索,问题是我还需要能够搜索CPT的元数据。我有以下代码,目前搜索所需的元数据,但我似乎无法让它搜索标题和元数据。非常感谢您的帮助!<?php /** * @package WordPress * @subpackage themename */ get_header(); $search = get_search_query(); ?> <div id=\"main\">