删除WooCommerce结帐字段值

jee*_*ers 6 php wordpress checkout woocommerce hook-woocommerce

我正在尝试申请autocomplete="off"我的WooCommerce结帐字段,但它不起作用.

结账表格有没有办法做到这一点?

我检查了文档,那里没有任何可用的东西.我也尝试将默认值设置为空,但它也不起作用.这是用户当然没有登录的时间.

在此输入图像描述

更新:

unset按照@smvax的建议尝试过,但它没有用.

add_filter('woocommerce_checkout_fields', 'default_values_checkout_fields');
function default_values_checkout_fields($fields) {
  if (!is_user_logged_in()) {
      unset($fields['billing_city']);
      unset($fields['billing_first_name']);
      unset($fields['billing_last_name']);
      unset($fields['billing_company']);
      unset($fields['billing_address_1']);
      unset($fields['billing_address_2']);
      unset($fields['billing_city']);
      unset($fields['billing_postcode']);
      unset($fields['billing_country']);
      unset($fields['billing_state']);
      unset($fields['billing_email']);
      unset($fields['billing_phone']);
      unset($fields['shipping_city']);
      unset($fields['shipping_first_name']);
      unset($fields['shipping_last_name']);
      unset($fields['shipping_company']);
      unset($fields['shipping_address_1']);
      unset($fields['shipping_address_2']);
      unset($fields['shipping_postcode']);
      unset($fields['shipping_country']);
      unset($fields['shipping_state']);
      return $fields;
  }
}
Run Code Online (Sandbox Code Playgroud)

我也在这里尝试了答案,但它的效果不佳.

谢谢

Loi*_*tec 11

您可以使用Wordpress '__return_empty_string'woocommerce_checkout_get_valueWooCommerce过滤器挂钩以这种方式获取空值:

add_filter('woocommerce_checkout_get_value','__return_empty_string', 1, 1);
Run Code Online (Sandbox Code Playgroud)

加载结帐页面时,这将清空所有结帐值.

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中.

此代码经过测试和运行.

您应该重置Woocommerce设置>系统状态>工具中的所有现有会话,如果您的电子商务使用任何会话,还应重置缓存.
同时清空浏览器缓存和存储的数据.