出于网站的开发需求,在主页主循环外的方位独自调用了网站的置顶文章,因为不想在主页呈现两块相同置顶文章的列表,所以要扫除主循环中最新文章前面的置顶文章。主题君以前…
出于网站的开发需求,在主页主循环外的方位独自调用了网站的置顶文章,因为不想在主页呈现两块相同置顶文章的列表,所以要扫除主循环中最新文章前面的置顶文章。
主题君以前共享过通过query_posts()完成扫除置顶文章的教程《在wordpress最新文章列表中扫除置顶文章》,可是使用query_posts()很简单引起文章列表的分页问题,因而并不是很主张使用,这儿推荐使用下面的代码。
把下面的代码添加到当前主题的functions.php文件,保存即可:
function exclude_sticky_posts($query){if( is_admin()||! $query->is_main_query())return;if( $query->is_home()&& $query->is_main_query()){ $query->set( \ignore_sticky_posts\,1);}} add_action(\pre_get_posts\,\exclude_sticky_posts\);
如果要排除其它页面的,就把代码中的is_home()改一下即可。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容