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

2018-6-6 19:09 来自本站原创 18,428 7 6
[摘要]

WordPress是非常强大的程序,通过各种自定义配置,可以实现各种各样的需求,今天我们通过配置文章查询函数来实现文章列表的自定义排序。

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

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

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

<?php
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => '10',
'orderby' => 'date',
'order' => 'DESC',
'caller_get_posts' => 1,

);
$query_posts = new WP_Query();
$query_posts->query($args);
while( $query_posts->have_posts() ) { $query_posts->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_title(); ?>
</a>
</li>
<?php } wp_reset_query();?>

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

一般用法:

按发布日期排序 orderby=date?

按修改时间排序 orderby=modified

按文章ID排序 orderby=ID

按评论最多排序 orderby=comment_count

按标题排序 orderby=title

随机排序 orderby=rand

特殊用法:

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

首先确定你的文章阅读量的自定义蓝色名称,一般为views

然后我们将查询函数进行修改即可,得到如下代码

<?php
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => '10', /* 显示几条 */
'meta_key' => 'views',/* 此处为你的自定义栏目名称 */
'orderby' => 'meta_value_num', /* 配置排序方式为自定义栏目值 */
'order' => 'DESC', /* 降序排列 */
'caller_get_posts' => 1,

);
$query_posts = new WP_Query();
$query_posts->query($args);
while( $query_posts->have_posts() ) { $query_posts->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_title(); ?>
</a>
</li>
<?php } wp_reset_query();?>

还有一个常见的查询函数

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

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

本文最后更新于2018年6月6日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

如果认为本文对您有所帮助请赞助本站

支付宝扫一扫赞助微信扫一扫赞助

  • 支付宝扫一扫赞助
  • 微信扫一扫赞助
  • 声明:凡注明“本站原创”的所有文字图片等资料,版权均属 雅兮网 所有,欢迎转载,但务请注明出处;
    目前评论:7   其中:访客  0   博主  0
    加载中...
    1. 鸡哥 1
      5年前 (2019-06-18) 0楼

      有个问题,就是这个排序是实现了,但是分页以及分类中的文章不会变了 点击显示的一直是首页

    2. 6年前 (2018-06-13) 0楼

      谢谢,收藏

    3. 6年前 (2018-06-08) 0楼

      老司机很猛,学习学习

    4. 6年前 (2018-06-07) 0楼

      学习了,点赞老司机

    5. 6年前 (2018-06-07) 0楼

      这个厉害!

    6. 6年前 (2018-06-06) 0楼

      各种特殊化的排序是为了更好的展现内容,日常支持车长~

    发表评论

    疑问 调皮 难过 抠鼻 吓 微笑 可爱 坏笑 惊讶 发呆 疑问 大兵 偷笑 咒骂 发怒 白眼 鼓掌 得意 擦汗 亲亲 大哭 呲牙 晕 强

    分享 7 6 18,428
    Top