【问题标题】:Clear WooCommerce checkout pre-filled shipping fields values清除 WooCommerce 结帐预填充的运输字段值
【发布时间】:2019-10-15 11:39:46
【问题描述】:

在他们下订单后,我需要从 wordpress 客户资料中清除运输字段

这家商店专门销售礼品篮,许多回头客希望每次退货时都将礼品篮发送到不同的送货地址。他们将使用与其个人资料中相同的帐单信息

add_filter('woocommerce_checkout_fields','custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {

  $fields['shipping']['shipping_first_name'] = '';
  $fields['shipping']['shipping_last_name'] = '';
  $fields['shipping']['shipping_company'] = '';
  $fields['shipping']['shipping_address_1'] = '';
  $fields['shipping']['shipping_address_2'] = '';
  $fields['shipping']['shipping_city'] = '';
  $fields['shipping']['shipping_postcode'] = '';
  $fields['shipping']['shipping_country'] = '';
  $fields['shipping']['shipping_state'] = '';

  return $fields;
}

这会清除字段并清除字段标签。我可以编辑现有的 to 以仅清除字段并让标签在每个字段上方可见。

非常感谢观看

【问题讨论】:

    标签: php wordpress woocommerce field checkout


    【解决方案1】:

    您没有使用正确的过滤器钩子...以下将清除预填充的运输字段值:

    add_filter( 'woocommerce_checkout_get_value', 'clear_shipping_fields_values', 5, 2 );
    function clear_shipping_fields_values( $value, $input ) {
        $keys = ['first_name','last_name','company','address_1','address_2','city','postcode','country','state'];
        $key  = str_replace('shipping_', '', $input);
        if( in_array($key, $keys) && is_checkout() ) {
            $value = '';
        }
        return $value;
    }
    

    代码在您的活动子主题(或活动主题)的functions.php 文件中。经过测试和工作。

    【讨论】:

    • 这真是太棒了,即使对于像“添加礼物信息”这样的自定义运输字段也是如此。
    • 非常感谢您的帮助。
    猜你喜欢
    • 2019-08-24
    • 1970-01-01
    • 2017-03-27
    • 2018-11-20
    • 2018-12-25
    • 2017-09-04
    • 2015-05-10
    • 2021-03-26
    • 2021-05-30
    相关资源
    最近更新 更多