我想使用此筛选器在我的自定义税务模板上显示20篇帖子:
function customize_customtaxonomy_archive_display ( $query ) {
if ( ( $query->is_main_query()) && ( is_tax() ) ){
$query->set( \'posts_per_page\', \'20\' );
$query->set( \'number_posts\', \'20\' );
$query->set( \'orderby\', \'rand\' );
return;
}
}
//Hook the function
add_action( \'pre_get_posts\', \'customize_customtaxonomy_archive_display\' );
如果我设置为
2
, 显示了两个立柱。如果我设置为
20
,
12
显示立柱。尽管发布了34篇帖子,但显示的帖子从不超过12篇。
可能是什么问题?
SO网友:Pieter Goosen
number_posts
不是中的有效参数pre_get_posts
, 您应该使用posts_per_page
您还应该包括一张支票(!is_admin()
) 在查询中,检查您是在前端还是后端pre_get_posts
还可以更改后端查询
将代码重写为以下内容:
add_action( \'pre_get_posts\', function ( $query )
{
if ( !is_admin()
&& $query->is_main_query()
&& $query->is_tax()
) {
$query->set( \'posts_per_page\', \'20\' );
$query->set( \'orderby\', \'rand\' );
}
});