WordPress教程

WordPress首页主循环中排除置顶文章的代码

阿里云

出于网站的开发需求,在首页主循环外的位置单独调用了网站的置顶文章,由于不想在首页出现两块相同置顶文章的列表,所以要排除主循环中最新文章前面的置顶文章。

云模板以前分享过通过 query_posts()实现排除置顶文章的教程《在 wordpress 最新文章列表中排除置顶文章》,但是使用 query_posts()很容易引起文章列表的分页问题,因此并不是很建议使用,这里推荐使用下面的代码。

也想出现在这里?联系我们
创客主机

把下面的代码添加到当前主题的 functions.php 文件,保存即可

  1. function exclude_sticky_posts($query){
  2.     if ( is_admin() || ! $query->is_main_query() )
  3. 	    return;
  4.     if ( $query->is_home() && $query->is_main_query() ) {
  5.         $query->set( 'ignore_sticky_posts', 1 );
  6.     }
  7. }  
  8. add_action('pre_get_posts','exclude_sticky_posts');

如果要排除其它页面的,就把代码中的 is_home()改一下即可。

WordPress 首页主循环中排除置顶文章的代码

已有 158 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!