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

Woocommerce/Yith/ACF问题:ACF字段仅显默认文本,短描述不显示

问题:YITH产品附加项无法显示短描述与ACF字段内容

背景信息

我们销售「Culture Boxes」餐盒订阅服务,每月为用户寄送一款独立的Culture Box产品。站点基于Woocommerce Subscriptions、Yith Product Add-Ons、ACF和Oxygen Builder搭建,我们熟悉CSS、HTML,但对PHP并不精通。

新订阅引导页面通过Woo提供订阅产品,借助Yith Add-Ons让客户选择附加选项。在「选择你的首款Culture Box」环节,需要为每个盒子展示对应的短描述,以及通过ACF设置的「功能列表」字段内容。

初始尝试代码

我们使用YITH提供的代码(已将your acf field替换为字段键field_65e15dd48d8f8),通过PHP代码片段插件运行:

if ( ! function_exists( 'yith_wapo_custom_after_product_price' ) ) {
    add_action( 'yith_wapo_after_addon_product_price', 'yith_wapo_custom_after_product_price', 99, 3 );
    function yith_wapo_custom_after_product_price( $product, $product_id, $addon ) {
        if ( ! empty( $product ) && $product instanceof WC_Product ) {
            echo '<p class="wapo-addon-description">' . stripslashes( $product->get_short_description()  ) . '</p>'; // 产品描述
        }

        if ( ! empty( $product_id ) ) {
            echo '<p>' . get_field( 'your_acf_field', $product_id ) . '</p>'; // ACF字段
        }
    }
}

问题现象

代码运行后出现异常:

  • ACF字段仅显示默认文本
  • 短描述完全不显示

我们怀疑过WP Rocket、Cloudflare缓存问题,但无法确定根源。YITH官方认为代码技术上可行,不再提供进一步支持,急需解决该问题以尽快上线。

YITH支持提供的解决方案

YITH支持提供的解决方案:
针对作为附加项添加的产品变体,使用父产品ID获取内容。

对应修复代码:

if ( ! function_exists( 'yith_wapo_custom_after_product_price' ) ) {
    add_action( 'yith_wapo_after_addon_product_price', 'yith_wapo_custom_after_product_price', 99, 3 );
    function yith_wapo_custom_after_product_price( $product, $product_id, $addon ) {
        if ( ! empty( $product ) && $product instanceof WC_Product ) {
            $description = $product instanceof WC_Product_Variation ? $product->get_description() : $product->get_short_description();
            if ( empty( $description ) && $product instanceof WC_Product_Variation ) {
                $parent_product = wc_get_product( $product->get_parent_id() );
                $description    = $parent_product->get_short_description();
            }
            echo '<p class="wapo-addon-description">' . stripslashes( $description  ) . '</p>'; // 产品描述
        }

        if ( ! empty( $product ) && ! empty( $product_id ) ) {
            $acf_product_id = $product instanceof WC_Product_Variation ? $product->get_parent_id() : $product_id;
            echo '<p>' . get_field( 'field_65e15dd48d8f8', $acf_product_id ) . '</p>'; // ACF字段
        }
    }
}

内容的提问来源于stack exchange,提问作者Just Be Cooking

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 02:38:19