这个pre_get_posts
钩子可用于在运行查询之前修改查询。您可以使用$query->set()
在上设置参数WP_Query
对象,以及$query->is_main_query()
在回调中,限制对主查询的更改:
add_action(
\'pre_get_posts\',
function( $query ) {
if ( ! is_admin() && $query->is_main_query() ) {
$query->set( \'posts_per_page\', 12 );
}
}
);
您不能针对特定的模板,但如果希望更改只影响存档,可以使用
$query->is_archive()
, 对于日期、分类法和post类型存档,这是正确的,或者如果您只想将更改应用于类别存档,则可以使用
$query->is_category()
. 许多正常的
conditional functions 可用作检查当前查询的方法。