【问题标题】:How to empty string for custom checkout field?如何为自定义结帐字段清空字符串?
【发布时间】:2018-04-04 15:17:41
【问题描述】:

在 WooCommerce 中,我尝试使用以下方法为自定义结帐字段获取空值:

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

但是,它会在加载时删除所有字段。

我只想清空['billing']['billing_type']

顺便说一句,这是一个无线电场。

【问题讨论】:

  • 我不熟悉 woocommerce_checkout_get_value,但是您可以直接访问 $_GET 或 $_POST 或 $_REQUEST 吗?如果是这样,你会考虑做 unset($_REQUEST['billing']['billing_type']); ? php.net/manual/en/function.unset.php
  • 谢谢,但 unset 实际上并不是我想要的,因为它完全破坏了字段。当客户结账时,他/她会看到最后一个订单的所有详细信息。但我想重新选择 billing_type。另一种替代解决方案是删除单选按钮的默认选定值。

标签: php wordpress woocommerce checkout hook-woocommerce


【解决方案1】:

由于它是一个单选按钮自定义结帐字段,您应该提供必要的代码来测试它。

使用 woocommerce_checkout_get_value 过滤器挂钩中的自定义函数获取任何所需结帐字段的空值的正确代码是:

add_filter('woocommerce_checkout_get_value','custom_checkout_get_value', 10, 2);
function custom_checkout_get_value( $value, $imput ){
    if($imput == 'billing_type')
        $value = '';
    return $value;
}

代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

经过测试并在 WC 3+ 中与 'billing_phone' 等其他计费字段一起工作......

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 2017-06-19
    • 1970-01-01
    • 2017-03-21
    • 2013-07-07
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多