WordPress钩子 pre_get_posts 如何限制主循环查询的分类

06月/14日/WordPress/浏览 278

在主题开发时,想要在首页隐藏某个分类的文章,该怎么办?


WordPress官方给出的方案还是钩子 - pre_get_posts。


示例代码如下:


function exclude_single_posts_home($query) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post__not_in', array( 7, 11 ) );
    }
}
add_action( 'pre_get_posts', 'exclude_single_posts_home' );


使用 query_posts 有时也能得到预期结果。但是,WordPress明确表示,query_posts函数,不建议在主题或插件中使用。据说,会引起不明原因bug。


使用 WP_Query + pre_get_posts 完全可以替代 query_posts。


发表评论

暂无评论,抢个沙发...

客服 工单