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

WP All Import插件PHP分类映射函数如何添加未匹配值加uncategorized前缀功能

优化后完整函数代码

把原有零散的替换规则整理为映射数组,更方便后续维护,同时实现你需要的未匹配分类自动加前缀的逻辑:

function cat_change($cat) {
    // 定义分类映射规则:键为待替换的原始值,值为标准化后的值
    $cat_map = [
        'XLARGE' => 'XL',
        'xl' => 'XL',
        'extralarge' => 'XL',
        'XXL' => '2XL',
        '2XLARGE' => '2XL',
        '2large' => '2XL',
        '2xlarge' => '2XL',
        'XXXL' => '3XL',
        '3XLARGE' => '3XL',
        '3large' => '3XL',
        '3xlarge' => '3XL',
    ];

    // 场景1:传入的$cat是完整分类名,完全匹配才替换(符合你描述的「不在待替换字符串列表」的判断逻辑)
    if (array_key_exists($cat, $cat_map)) {
        return $cat_map[$cat];
    } else {
        return 'uncategorized>' . $cat;
    }

    // --- 如果你需要兼容原有模糊替换逻辑(即$cat包含关键词就替换),可以把上面的判断替换为下面的代码 ---
    /*
    $original_cat = $cat;
    foreach ($cat_map as $search => $replace) {
        $cat = str_replace($search, $replace, $cat);
    }
    // 替换后值无变化说明没有匹配到规则,加未分类前缀
    if ($cat === $original_cat) {
        return 'uncategorized>' . $original_cat;
    }
    return $cat;
    */
}

逻辑说明

  • 用关联数组维护替换规则,后续新增规则只需要在$cat_map里加对应键值对即可,不用重复写str_replace语句
  • 默认的完全匹配逻辑,仅当传入的分类名和映射表的待替换值完全一致时才做标准化,否则自动拼接uncategorized>前缀
  • 注释内的兼容逻辑可适配原有模糊替换需求,替换后如果值没有变化就判定为未匹配规则,自动加上前缀

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:06:07