You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计指定分类下各作者文章数及为WP查询添加neuws分类过滤

代码修改方案

核心逻辑

原来的count_user_posts()函数仅支持按文章类型统计全部分类的发文数,不支持分类过滤,因此我们替换为带分类参数的自定义统计逻辑,修改后的完整代码如下:

<?php
// 统计各作者在neuws分类下的文章发布数
// 定义分类别名(如果neuws是拼写错误,可替换为实际的分类别名,比如news)
$target_category_slug = 'neuws';

// 获取所有有已发布文章的作者
$authorArgs = array(
    'orderby' => 'ID',
    'has_published_posts' => array('post'),
);
$pecheAuthors = get_users($authorArgs);

// 遍历每位作者统计指定分类下的文章数
foreach($pecheAuthors as $user){
    // 构造查询参数,筛选当前用户、指定分类的已发布文章
    $user_posts = get_posts(array(
        'post_type' => 'post',
        'author' => $user->ID,
        'category_name' => $target_category_slug,
        'posts_per_page' => -1,
        'post_status' => 'publish'
    ));
    $post_count = count($user_posts);
    
    // 只显示有对应分类文章的作者,不需要的话可以删掉这个判断
    if($post_count == 0) continue;

    // 输出统计结果
    echo '<font color="#f00;"><b>';
    echo $post_count;
    echo '</b></font>';
    echo ' journees de pêches pour ';
    echo '<font color="#f00;"><b>';
    echo $user->display_name;
    echo '</b></font>';
    echo '<br />';
}
?>

关键修改说明

  • 新增了$target_category_slug变量统一配置目标分类别名,修改方便
  • 用带category_name参数的get_posts()查询替代原生count_user_posts(),实现分类过滤
  • 移除了原代码中冗余无效的WP_Query逻辑,减少不必要的数据库查询
  • 新增可选判断:仅输出在目标分类下有发布文章的作者,不需要展示0篇的作者可以保留该判断,删除即可展示所有作者的统计结果
  • 如果需要按分类ID筛选,只需要把'category_name' => $target_category_slug替换为'cat' => 分类ID数字即可

内容的提问来源于stack exchange,提问作者flexi2202

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:06:04