使用ignore_sticky_posts代替caller_get_posts

之前在使用wordpress搭建个人网站时,遇到显示置顶文章无法生效的问题。在使用query_posts输出首页热门文章排序,会出现最新的置顶文章,需要排除,但打开wordpress调试模式后,发现WP给出了如下提示:

Notice: 自 3.1 版本起,已不建议给 WP_Query 传入一个参数!“caller_get_posts”不再被建议使用。请改用“ignore_sticky_posts”。 in F:\xampp\XXX\wp-includes\functions.php on line 2923

ignore_sticky_posts 意为是否显示置顶最新文章在query_posts控制的列表上,默认值为0,不排除置顶文章。请注意:ignore/exclude sticky posts being included at the beginning of posts returned, but the sticky post will still be returned in the natural order of that list of posts returned(在返回文章列表时,仍以自然顺序将曾经置顶的文章安插在列表中,也就是说你排除的置顶文章只适用于某文章列表上).

用法举例

只显示(返回)第一篇置顶文章:

返回第一篇置顶文章,否则显示最新的以发布的文章:

排除查询中所有的置顶文章:

返回某一分类下所有文章,不在文章列表上显示置顶文章。但其置顶文章仍显示在其他自然排序中,比如日期排序归档:

未经允许不得转载:专注は互联网 · 用户 · 产品 - 极简 · 生活 · 禅修 » 使用ignore_sticky_posts代替caller_get_posts

赞 (0)

扫码打Call!

分享到:更多 ()

留言 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址