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

如何在WordPress中用PHP条件语句按分类名称统计文章数量?

按分类名称统计文章数量的实现方案

可以用if条件语句按分类名称统计文章数量,但你当前的代码存在问题——get_the_category()返回的是分类对象数组,不是字符串,直接和分类名称"Uncategorized"比较是不会生效的。

修正后的代码示例(基础版)

<?php
$c = 0;
if ( have_posts() ) :
    while ( have_posts() ) :
        the_post(); 
        // 获取当前文章的所有分类对象数组
        $categories = get_the_category();
        // 遍历分类,检查是否包含目标分类
        foreach ( $categories as $category ) {
            if ( $category->name === "Uncategorized" ) {
                $c++;
                // 避免同一文章多分类符合时重复计数,直接跳出循环
                break;
            }
        }
    endwhile;
endif;
echo "Count = $c";
?>

更简洁的优化版

可以用WordPress内置的has_category()函数直接判断,代码更简洁高效:

<?php
$c = 0;
if ( have_posts() ) :
    while ( have_posts() ) :
        the_post(); 
        // 直接检查当前文章是否属于目标分类
        if ( has_category( "Uncategorized" ) ) {
            $c++;
        }
    endwhile;
endif;
echo "Count = $c";
?>

核心说明

  • get_the_category()返回的是WP_Term对象数组,哪怕文章只有一个分类,也会以数组形式返回,必须遍历后通过$category->name获取分类名称
  • has_category()支持传入分类名称、ID或别名(slug),能直接判断文章是否属于目标分类,省去手动遍历的步骤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:45:53