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

CartFlows(WooCommerce插件)PHP代码修改优惠券标题失效求助

CartFlows优惠券区域标题修改失效问题

按照官方教程使用PHP代码修改CartFlows优惠券字段和按钮文本可正常生效,但尝试修改可折叠优惠券区域的「Have a coupon?」标题时,所用代码未生效。以下是相关代码及HTML参考:

生效代码(修改优惠券字段与按钮文本)

/**
 * 修改CartFlows优惠券字段文本和按钮文本
 *
 * @param array $coupon_field 字段字符串/文本数组
 * @return array
 */
add_filter( 'cartflows_coupon_field_options', 'change_cartFlows_coupon_field_strings', 10, 1 );

function change_cartFlows_coupon_field_strings( $coupon_field ){

    $coupon_field = array(
        'field_text'  => __( '优惠券代码', 'cartflows' ), // 优惠券输入框占位符文本
        'button_text' => __( '应用', 'cartflows' ), // 应用优惠券按钮文本
        'class'       => '', // 优惠券输入框类名
    );

    return $coupon_field;
}

未生效代码(尝试修改优惠券区域标题)

// 尝试修改优惠券标题的脚本
function cartFlows_rename_coupon_message_on_checkout() {
    return '有优惠码?' . ' <a href="#" class="showcoupon">' . __( '点击此处输入您的代码', 'cartFlows' ) . '</a>';
}
add_filter( 'cartFlows_checkout_coupon_message', 'cartFlows_rename_coupon_message_on_checkout' );

页面参考HTML结构

<div class="wcf-custom-coupon-field wcf-hide-field" id="wcf_custom_coupon_field">
    <a href="#" id="wcf_optimized_wcf_custom_coupon_field">
        <div class="dashicons dashicons-arrow-right"></div> Have a coupon?
    </a>
    <div class="wcf-coupon-col-1">
        <span>
            <input type="text" name="coupon_code" class="input-text wcf-coupon-code-input" placeholder="Coupon code" id="coupon_code" value="">
        </span>
    </div>
    <div class="wcf-coupon-col-2">
        <span>
            <button type="button" class="button wcf-submit-coupon wcf-btn-small" name="apply_coupon" value="Apply">Apply</button>
        </span>
    </div>
</div>

问题分析与解决方法

从HTML结构可以看出,目标标题「Have a coupon?」属于wcf_optimized_wcf_custom_coupon_field标签内的内容,而你使用的cartFlows_checkout_coupon_message过滤器并不对应这个区域。正确的过滤器应为cartflows_coupon_toggle_text,替换为以下代码即可生效:

/**
 * 修改CartFlows可折叠优惠券区域的标题文本
 *
 * @param string $toggle_text 原标题文本
 * @return string 修改后的标题文本
 */
add_filter( 'cartflows_coupon_toggle_text', 'change_cartflows_coupon_toggle_title', 10, 1 );
function change_cartflows_coupon_toggle_title( $toggle_text ) {
    // 按需修改标题内容,保留图标结构或自行调整
    return '<div class="dashicons dashicons-arrow-right"></div> 有优惠码?';
}

额外注意事项:

  • 确认代码添加位置:推荐使用Code Snippets插件,或子主题的functions.php文件(避免主题更新丢失代码)
  • 清除缓存:包括WordPress后台缓存、浏览器缓存,确保修改即时生效
  • 调整优先级:若仍未生效,可将过滤器的第三个参数(当前为10)调至更高值(如20),确保覆盖默认设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 09:43:16