如果您正在更改main query 然后使用pre_get_posts
筛选而不是WP_Query
.
add_action(\'pre_get_posts\',\'wpse224610_alter_query\');
function wpse224610_alter_query($query){
$cat_id = get_cat_ID(\'Featured articles\');
$exclude_cat_id = -$cat_id;
if( !is_admin() && $query->is_main_query() ){
$query->set( \'cat\', $exclude_cat_id );
$query->set( \'posts_per_page\', 4 );
}
}
主回路将是
if( have_posts() ):
while( have_posts() ): the_post();
//The loop
endwhile;
endif;
检查返回值
$cat_id
, 是0还是
Featured articles 类别id?检查类别名称的拼写是否正确,因为它是在管理?
根据您的代码,我假设您正在尝试进行二次循环,但正如您所说的,这是主循环,请使用上述过滤器。
Read more