WordPress首页主循环中排除置顶文章的代码
出于网站的开发需求,在首页主循环外的位置单独调用了网站的置顶文章,由于不想在首页出现两块相同置顶文章的列表,所以要排除主循环中最新文章前面的置顶文章。
博客吧以前分享过通过query_posts()
实现排除置顶文章的教程《在wordpress最新文章列表中排除置顶文章》,但是使用query_posts()
很容易引起文章列表的分页问题,因此并不是很建议使用,这里推荐使用下面的代码。
把下面的代码添加到当前主题的functions.php文件,保存即可
1 2 3 4 5 6 7 8 |
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