仅清除 Woocommerce 中的一些结帐字段值
Clear only some checkout fields values in Woocommerce
在 Woocommerce 中,我正在尝试清除结帐字段。因此,当用户之前订购过东西,现在再次订购东西时,he/she 将不得不再次写入所有 his/her 信息。
我正在使用此代码
function clear_checkout_fields($input){
return '';
}
add_filter( 'woocommerce_checkout_get_value' , 'clear_checkout_fields' , 1);
现在这段代码正在清除所有字段,但它也将我的增值税更改为显示为 0。
有谁知道解决这个问题的方法吗?
您的 woocommerce_checkout_get_value
挂钩函数中存在一些参数错误。
实际上有 2 个参数:
- 返回的
$value
参数是一个过滤器挂钩,
- 可用于定位任何结帐字段的
$imput
参数。
因此,在您的情况下,您将使用 $imput
参数,以避免您的自定义增值税结帐字段被清空。在下面的代码中,您需要将 vat_number
替换为在自定义增值税结帐字段中设置的正确字段 name
属性:
add_filter( 'woocommerce_checkout_get_value' , 'clear_checkout_fields' , 10, 2 );
function clear_checkout_fields( $value, $input ){
if( $input != 'vat_number' )
$value = '';
return $value;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
在 Woocommerce 中,我正在尝试清除结帐字段。因此,当用户之前订购过东西,现在再次订购东西时,he/she 将不得不再次写入所有 his/her 信息。
我正在使用此代码
function clear_checkout_fields($input){
return '';
}
add_filter( 'woocommerce_checkout_get_value' , 'clear_checkout_fields' , 1);
现在这段代码正在清除所有字段,但它也将我的增值税更改为显示为 0。
有谁知道解决这个问题的方法吗?
您的 woocommerce_checkout_get_value
挂钩函数中存在一些参数错误。
实际上有 2 个参数:
- 返回的
$value
参数是一个过滤器挂钩, - 可用于定位任何结帐字段的
$imput
参数。
因此,在您的情况下,您将使用 $imput
参数,以避免您的自定义增值税结帐字段被清空。在下面的代码中,您需要将 vat_number
替换为在自定义增值税结帐字段中设置的正确字段 name
属性:
add_filter( 'woocommerce_checkout_get_value' , 'clear_checkout_fields' , 10, 2 );
function clear_checkout_fields( $value, $input ){
if( $input != 'vat_number' )
$value = '';
return $value;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。