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

如何在分类页正确展示仅对应当前分类的自定义字段

问题根因

你当前的代码调用get_all_categories()获取了站点全部分类列表,循环输出了每个分类的category_info字段,所以不管访问哪个分类页都会展示所有分类的自定义字段内容。

修复代码

不需要遍历全部分类,直接获取当前访问分类对应的对象,读取单个字段输出即可,参考代码如下:

<?php
// 此处替换为你所用程序获取当前分类页对应分类对象的逻辑即可,以下为两种常见实现示例
// 示例1:程序自带获取当前分类的函数(多数CMS都有类似内置方法)
$current_category = get_queried_category();

// 示例2:如果需要通过URL参数的分类ID查询,假设你的分类ID参数为cat
$cat_id = intval($_GET['cat'] ?? 0);
if ($cat_id > 0) {
    $current_category = Category::getById($cat_id);
}

// 输出当前分类的自定义字段
if (!empty($current_category)) {
    $category_info = $current_category->get_field('category_info');
    echo is_null($category_info) ? 'no info' : $category_info;
}
?>

如果你的Category类没有内置getById方法,也可以从get_all_categories()的返回结果里匹配和当前分类ID一致的对象再读取字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:45:03