我有一个搜索结果页面,只显示wordpress页面网址列表。我想排除显示在此列表中的特定页面URL。该列表如下所示:(总计数来自 - > found_post)。
页面结果(共10个):
为了确保我的found_posts总数是正确的,我想我会像这样制作一个全局过滤器并将其放在functions.php中:
function search_filter( $query ) {
if ( !is_admin() ) {
$exclude = array(
16,
261,
260
);
$query->set( 'post__not_in', $exclude );
}
}
add_action( 'pre_get_posts', 'search_filter' );
如果不是因为搜索结果页面是我不希望出现在搜索结果中的事实,这将工作正常。将此添加到排除数组会导致搜索结果页面本身404'ing。
所以我想我可以像这样检查实际的模板循环:
if(!in_array(get_the_ID(), $exclude)):
但是我的found_posts
计数错了,它会计算帖子,但不会显示。
有没有办法从显示的结果中排除帖子,并在found_posts计数中反映这一点?