WooCommerce默认发货邮政编码
问题描述:
我正尝试使用客户数据预先填充WooCommerce发货地址。这适用于除shipping_postcode之外的所有字段。任何想法我做错了什么?WooCommerce默认发货邮政编码
// Hook in
add_filter('woocommerce_checkout_fields' , 'custom_override_checkout_fields');
// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields($fields) {
$customer_id = get_current_user_id();
$fields['shipping']['shipping_first_name']['default'] = get_user_meta($customer_id, $name . 'shipping_first_name', true);
$fields['shipping']['shipping_last_name']['default'] = get_user_meta($customer_id, $name . 'shipping_last_name', true);
$fields['shipping']['shipping_company']['default'] = get_user_meta($customer_id, $name . 'shipping_company', true);
$fields['shipping']['shipping_address_1']['default'] = get_user_meta($customer_id, $name . 'shipping_address_1', true);
$fields['shipping']['shipping_address_2']['default'] = get_user_meta($customer_id, $name . 'shipping_address_2', true);
$fields['shipping']['shipping_city']['default'] = get_user_meta($customer_id, $name . 'shipping_city', true);
$fields['shipping']['shipping_postcode']['default'] = get_user_meta($customer_id, $name . 'shipping_postcode', true);
$fields['shipping']['shipping_country']['default'] = get_user_meta($customer_id, $name . 'shipping_country', true);
$fields['shipping']['shipping_state']['default'] = get_user_meta($customer_id, $name . 'shipping_state', true);
return $fields;
}
我甚至尝试了一个简单的任务,没有运气:
$fields['shipping']['shipping_postcode']['default'] = "90210";
答
我们找到了一个解决方法这一点。
此行出于某种原因不能正常工作:
$fields['shipping']['shipping_postcode']['default'] = get_user_meta($customer_id, $name . 'shipping_postcode', true);
但这个代码实现了我们想要的:
$woocommerce->customer->set_shipping_postcode(get_user_meta($customer_id, $name . 'shipping_postcode', true));