删除WooCommerce结帐字段值

时间:2017-04-10 03:36:56

标签: php wordpress woocommerce checkout hook-woocommerce

我正在尝试在我的WooCommerce结帐字段中应用autocomplete="off",但它不起作用。

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

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

enter image description here

更新

我按照@smvax的建议尝试unset,但它也没有用。

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;
  }
}

我也尝试了 here 的答案,但它的效果不佳。

由于

1 个答案:

答案 0 :(得分:11)

您可以将Wordpress '__return_empty_string'woocommerce_checkout_get_value WooCommerce过滤器钩子一起使用,以这种方式获取空值:

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

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

该代码位于您的活动子主题(或主题)的functions.php文件中,或者也包含在任何插件文件中。

此代码经过测试并有效。

  

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