当前位置:首页>WordPress建站>WordPress开发>在 WordPress 循环中排除置顶文章

在 WordPress 循环中排除置顶文章

WordPress 默认会在循环(Loop)中显示置顶文章,但是在主题开发中,也许为了布局需求,你需要在 WordPress 循环中排除置顶文章。

取消置顶,按普通方式输出文章

<?php
$args = array(
	'posts_per_page' => 10, //每页显示10篇文章
	'ignore_sticky_posts' => 1 //取消文章置顶
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();

//在这里插入循环内部代码

endwhile; //结束while
endif; //结束if
?>

‘ignore_sticky_posts’ => 1 就是关键参数,取消文章置顶(即不在顶部显示),按照普通方式输出文章

彻底排除置顶文章,不输出

<?php
$the_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ) ) );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();

//在这里插入循环内部代码

endwhile; //结束while
endif; //结束if
?>

‘post__not_in’ => get_option( ‘sticky_posts’ ) 是关键参数,彻底排除置顶文章(凡是置顶文章都不输出)。假如你在已经在首页的其他地方(比如幻灯中)显示了置顶文章,那么,接下来的主循环中排除置顶文章,这样就可以避免重复显示。

更多示例,可以参考 WP_Query#Pagination_Parameters 一节。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
WordPress开发

为WordPress的自定义菜单链接添加栏目图标

2013-9-4 8:38:28

WordPress开发

在 WordPress 顶部管理工具条显示登录表单

2013-9-7 9:01:33

9 条回复 A文章作者 M管理员
  1. wwwhhh

    彻底删除置顶的方法虽然有效,但是影响分页功能,导致最后面的分页是空白,不知道有什么方法可以解决

  2. loop尾巴用wp_reset_query();重置查询

  3. 测试后发现一个很严重的问题,翻页失效了,博主应该予以说明或者给出解决办法才是

  4. 下一页功能失效了怎么办? ➡

  5. 注意WP_Query结束后要使用wp_reset_postdata(),否则可能会影响其他Query

  6. 还有,楼下两个人的问题确实存在,我遇到的问题也是列表分页无效

  7. 首先感谢昌萌提供这么好的教程,但是我需要提出的是,不懂php的同学需要注意php语句,有可能是这样写的:

    <?php
    $the_query = new WP_Query( array( ‘post__not_in’ => get_option( ‘sticky_posts’ ) ) );
    if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
    ?>
    //在这里插入循环内部代码
    <?php
    endwhile; //结束while
    endif; //结束if
    ?>

  8. 显示文章数量控制无效

  9. doghap

    我想用下面的方法,然后设置几个改变文章数的按钮来实现动态改变首页文章显示数量,文章是找到了, 但发现这样会使分页按钮失效, 也就是说每个分页内容都是一样的,自己折腾不出来, 你能给点指示么??(感觉翻页的时候会重新查询一次。。。)
    $perNum = $_COOKIE[‘num’]!=”? $_COOKIE[‘num’]: 20;
    $the_query = new WP_Query( array( ‘posts_per_page’ => $perNum ) );

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索