首页 文章

清除Woocommerce中的一些结帐字段值

提问于
浏览
2

在Woocommerce中,我正在尝试清除结帐字段 . 因此,当用户之前订购了某些东西并且现在再次订购时,他/她将不得不再次写入他/她的所有信息 .

我正在使用此代码

function clear_checkout_fields($input){
return '';
}

add_filter( 'woocommerce_checkout_get_value' , 'clear_checkout_fields' , 1);

现在此代码正在清除所有字段,但它也会将我的增值税更改为显示为0 .

有谁知道解决这个问题?

1 回答

  • 0

    woocommerce_checkout_get_value 挂钩函数中存在一些参数错误 .
    事实上有两个论点:

    • 返回 $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文件中 . 经过测试和工作 .

相关问题