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

如何修改ACF字段合并代码,仅非指定分类产品包含指定字段

扩展WordPress ACF字段合并逻辑:排除指定分类时不包含指定字段

之前的代码会将field1和field2合并后存入field3,现在需要调整逻辑:只有当当前产品不属于“Oils”分类时,才在合并结果里带上field2的内容

修改后的完整代码如下:

// 文章保存后执行该函数
function my_acf_save_post( $post_id ) {
    // 获取field1的新值
    $value1 = get_field( 'field1', $post_id );
    // 获取field2的新值
    $value2 = get_field( 'field2', $post_id );

    // 初始化合并后的内容为field1的值
    $merge = $value1;

    // 检查当前产品是否不属于"Oils"分类
    if ( !has_term( 'Oils', 'product_cat', $post_id ) ) {
        // 不属于的话,拼接field2的内容
        $merge .= ' (' . $value2 . ')';
    }

    // 将合并后的值更新到field3
    update_field( 'field3', $merge, $post_id );
}
add_action_action('acf/save_post', 'my_acf_save_post', 20);

关键逻辑说明

  • has_term('Oils', 'product_cat', $post_id):用于检测当前产品(对应$post_id)是否属于WordPress产品分类(product_cat)下的“Oils”分类
  • 前缀!表示取反,即只有当产品不属于“Oils”分类时,才会把field2的内容拼接到合并结果里
  • 如果产品属于“Oils”分类,合并结果就只保留field1的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:45:37