WooCommerce 结帐字段 html 自定义问题
WooCommerce Checkout Field html customization issue
在 Woocommerce 中,我使用以下代码向特定结帐字段添加脚注:
add_action( 'woocommerce_form_field_text','add_address_disclaimer', 100, 2 );
function add_address_disclaimer( $field, $key ){
global $woocommerce;
if ( is_checkout() && ( $key == 'billing_address_2') ) {
$field .= '<div class="fields-shipping-disclaimer"><p>' . __('We cannot ship to PO Boxes and FPO/APO addresses.') . '</p></div>';
}
return $field;
}
它在初始化时正常工作...脚注显示在账单地址 2 字段下方:
但是,在更新任何触发 "update checkout" 选项的字段时,自定义脚注不会反映在刷新的结帐字段中:
有人知道为什么会这样吗?
首先,您使用的挂钩是 过滤器挂钩 而不是动作挂钩,因此应该使用 add_filter()
而不需要 global $woocommerce;
。
试试这个代码版本 (没有 div 标签):
add_filter( 'woocommerce_form_field_text' , 'add_address_disclaimer', 10, 2 );
function add_address_disclaimer( $field, $key) {
if ( is_checkout() && $key == 'billing_address_2' ) {
$text = __("We cannot ship to PO Boxes and FPO/APO addresses.");
$field .= '<p class="form-row fields-shipping-disclaimer">'.$text.'</p>';
}
return $field;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作 (停留在 update_checkout JS 事件).
相关主题:
在 Woocommerce 中,我使用以下代码向特定结帐字段添加脚注:
add_action( 'woocommerce_form_field_text','add_address_disclaimer', 100, 2 );
function add_address_disclaimer( $field, $key ){
global $woocommerce;
if ( is_checkout() && ( $key == 'billing_address_2') ) {
$field .= '<div class="fields-shipping-disclaimer"><p>' . __('We cannot ship to PO Boxes and FPO/APO addresses.') . '</p></div>';
}
return $field;
}
它在初始化时正常工作...脚注显示在账单地址 2 字段下方:
但是,在更新任何触发 "update checkout" 选项的字段时,自定义脚注不会反映在刷新的结帐字段中:
有人知道为什么会这样吗?
首先,您使用的挂钩是 过滤器挂钩 而不是动作挂钩,因此应该使用 add_filter()
而不需要 global $woocommerce;
。
试试这个代码版本 (没有 div 标签):
add_filter( 'woocommerce_form_field_text' , 'add_address_disclaimer', 10, 2 );
function add_address_disclaimer( $field, $key) {
if ( is_checkout() && $key == 'billing_address_2' ) {
$text = __("We cannot ship to PO Boxes and FPO/APO addresses.");
$field .= '<p class="form-row fields-shipping-disclaimer">'.$text.'</p>';
}
return $field;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作 (停留在 update_checkout JS 事件).
相关主题: