php - 如何从字段中覆盖浏览器数据并在 woocommerce 结帐页面中设置默认值?
问题描述
我正在尝试在 woocommerce 结帐页面中设置默认变量值
$fields['address_1']['default'] = $cart_item['address'];
它仅在客户第一次下订单时运作良好,当其他订单在浏览器数据中预填充字段时,所以我使用了这个
add_filter('woocommerce_checkout_get_value','__return_empty_string', 0, 0);
此过滤器返回空字段,但默认值也返回空。
解决方案
您可以尝试改用:
add_filter( 'woocommerce_checkout_get_value', 'clear_shipping_fields_values', 5, 2 );
function clear_shipping_fields_values( $value, $input ) {
$items = WC()->cart->get_cart();
$item = reset( $items );
if( is_checkout() && isset($item['address']) && in_array( $input, ['billing_address_1', 'shipping_address_1']) ) {
$value = $item['address'];
}
return $value;
}
代码在您的活动子主题(或活动主题)的functions.php 文件中。它应该工作。
推荐阅读
- vba - 你如何创建一个黄色的文本框?
- java - 如何自动打开浏览器进行用户授权(“/回调”)?
- python - 将变量值分配为字典的键
- angular - Http原始请求向上地址
- json - JSON 解析 - 使用 JQ 按日期范围分组
- python-3.x - 在 MacOSX Mavericks 上使用 PyQt5、Python3 和 Anaconda3 出现问题
- angular - 如何在 Angular 4 中包含 canvas-datagrid
- android - 检查小米是否应该振动来电
- react-native - react-native-router-flux:没有为 key undefined 定义路由。必须是 'home'、'activeJobs'、'favorites'、'inbox'、'profile' 之一
- javascript - 为什么动态添加的视图输入字段无法在主视图上附加 jQuery 事件