配置orderby参数 实现WordPress文章自定义排序

投稿   雅兮网  2018-06-13 07:01:28  128 人阅读  23 条评论

WordPress 默认文章列表排序方式是根据发布时间,也就是最新的文章显示在列表最前面,那么我们如果想自定义文章的排序呢?如按修改时间、按评论数,甚至是按照阅读量排序~

配置orderby参数 实现WordPress文章自定义排序 WordPress 第1张

WordPress 文章查询有若干种方法,本文仅拿 query_posts($args)数据查询来说,通过配置其中的 orderby 参数来实现各种排序。

  1. <?php
  2. $args = array(
  3. 'post_type' => 'post',
  4. 'post_status' => 'publish',
  5. 'posts_per_page' => '10',
  6. 'orderby' => 'date',
  7. 'order' => 'DESC',
  8. 'caller_get_posts' => 1,
  9. );
  10. $query_posts = new WP_Query();
  11. $query_posts->query($args);
  12. while$query_posts->have_posts() ) { $query_posts->the_post(); ?>
  13. <li>
  14. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
  15. <?php the_title(); ?>
  16. </a>
  17. </li>
  18. <?php } wp_reset_query();?>

上述查询函数中,我们通过修改 orderby 后面的值来,实现不同的排序方式。

一般用法:

  • 按发布日期排序 orderby=date?
  • 按修改时间排序 orderby=modified
  • 按文章 ID 排序 orderby=ID
  • 按评论最多排序 orderby=comment_count
  • 按标题排序 orderby=title
  • 随机排序 orderby=rand

特殊用法:

如果我们想通过浏览量来排序呢?要知道 WordPress 默认是没有浏览量这个功能的,但是大多数的用户都通过主题或者插件实现了文章阅读量,其原理无一例外是通过自定义栏目增加阅读量的统计。因此我们可以通过自定义栏目的值大小来实现阅读量排序。

首先确定你的文章阅读量的自定义栏目名称,一般为 views,然后我们将查询函数进行修改即可,得到如下代码:

  1. <?php
  2. $args = array(
  3. 'post_type' => 'post',
  4. 'post_status' => 'publish',
  5. 'posts_per_page' => '10', /* 显示几条 */
  6. 'meta_key' => 'views',/* 此处为你的自定义栏目名称 */
  7. 'orderby' => 'meta_value_num', /* 配置排序方式为自定义栏目值 */
  8. 'order' => 'DESC', /* 降序排列 */
  9. 'caller_get_posts' => 1,
  10. );
  11. $query_posts = new WP_Query();
  12. $query_posts->query($args);
  13. while$query_posts->have_posts() ) { $query_posts->the_post(); ?>
  14. <li>
  15. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
  16. <?php the_title(); ?>
  17. </a>
  18. </li>
  19. <?php } wp_reset_query();?>

还有一个常见的查询函数

  1. <?php
  2. $posts = get_posts(“numberposts=10&meta_key=views&orderby=meta_value_num&order=desc”);
  3. foreach$posts as $post ) :
  4. ?>
  5. ……
  6. <?php endforeach; ?>

WordPress 是非常强大的,通过各种自定义配置,可以实现各种各样的需求。

历史上的今天:

如果文章对你有帮助,请赞赏支持作者继续创作!

文章标签: ,   ,  
原文地址:https://www.yaxi.net/2018-06-06/1811.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 雅兮网 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
雅兮网

相关文章 分类热门分类热评最新问答

 发表评论


  1. 轻羽
    轻羽 【小白】 @回复

    这也是我用来随机排列友联的方法

  2. 佳软盒子
    佳软盒子 【书童】 @回复

    文章不错,值得我学习,感谢博主!

  3. 唯美志
    唯美志 【书童】 @回复

    不错..厉害了

  4. 西枫里博客
    西枫里博客 【进士】 @回复

    车长的功能好不如车长的样式好。支持车长~

  5. 闲鱼
    闲鱼 【举人】 @回复

    一如既往的支持雅兮大佬

  6. 陈鑫威博客
    陈鑫威博客 【举人】 @回复

    那这个做一个右侧栏,排名

  7. 花胶
    花胶 【书童】 @回复

    这个更多的用在小工具写法上面吧

    • 懿古今
      懿古今【村长】2018-06-14 22:29  回复

      @花胶学会之后,不单单适用于小工具,也可以用在很多需要的地方

  8. 我就爱旅游
    我就爱旅游 【秀才】 @回复

    这个还是看个人的使用习惯

  9. 99八十一
    99八十一 【举人】 @回复

    这个排序还是看个人爱好吧,我觉得默认按发布时间排序就挺好的。

  10. 里维斯社
    里维斯社 【进士】 @回复

    默认的时间排序就可以了,自定义排序玩玩还可以

  11. 靠谱学生兼职网
    靠谱学生兼职网 【状元】 @回复

    插件让人省事好多,代码能办到的,也是不错的。

  12. 子午坊
    子午坊 【举人】 @回复

    这个我会

  13. 菊
    【进士】 @回复

    自定义排序那就牛逼了

  14. 手机赚钱
    手机赚钱 【进士】 @回复

    向大佬学习

  15. 银色月航
    银色月航 【状元】 @回复

    干货,膜拜大佬~~

  16. 沈唁志
    沈唁志 【状元】 @回复

    厉害了啊雅兮dalao

  17. 笛声
    笛声 【举人】 @回复

    默认确实不太符合国人习惯。