Wordpress 插件 - 按帖子数量对用户进行排名

Posted

技术标签:

【中文标题】Wordpress 插件 - 按帖子数量对用户进行排名【英文标题】:Wordpress plugin- rank users by number of posts 【发布时间】:2018-10-03 21:55:18 【问题描述】:

我想根据用户帖子的数量为 wordpress 用户创建一个简单的插件。我已经有了这段代码,但我不知道如何对数组进行排序 并在表格中显示

global $wpdb; 
$result = count_users();
$users = $result['total_users'];

for($id = 1;$id<$users;$id++) 
    $result = $wpdb->get_results("SELECT wp_users.ID, wp_users.display_name, COUNT(wp_posts.post_author) AS 'Number_of_posts' 
        FROM wp_users INNER JOIN wp_posts ON wp_users.ID = wp_posts.post_author 
        WHERE wp_posts.post_type = 'post'             
        AND wp_users.ID = $id", ARRAY_A);

【问题讨论】:

【参考方案1】:

php 中的数组排序:http://php.net/manual/en/array.sorting.php

您可以遍历 WPDB 对象并执行您需要的任何逻辑并将值放入关联数组中。使用链接的 PHP 文档中的适当函数对其进行排序

html 表中显示数组中的数据如下所示:

<table>
   <tr>
       <th>Rank</th>
       <th>Username</th>
       <th>Post Count</th>
   </tr>
<?php
$i = 1;
foreach($array as $value)?>
       <tr>
          <td><?php echo $i; ?></td>
          <td><?php echo $value['user']; ?></td>
          <td><?php echo $value['posts']; ?></td>
       </tr>
<?php 
      $i++;
 ?>
</table>

【讨论】:

以上是关于Wordpress 插件 - 按帖子数量对用户进行排名的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 查询:按年份 DESC 对帖子进行分组,然后在每个组中按月 ASC 发布帖子

php 按对象属性对对象数组进行排序。示例:查询后对Wordpress帖子进行排序

SQL:Wordpress 用户按最新发布日期 (CPT) 排序

按类别过滤 Wordpress 帖子时对 GatsbyJS 页面进行分页

您如何按包含标签的帖子数量对博客帖子标签列表进行排序(在 Eleventy 中使用 Nunjucks)?

WordPress——统计所有用户的帖子