我正在试图弄清楚如何在WooCommerce中重新格式化非西方订单的地址。
在WooCommerce中,当您登录管理员并查看具有非西方地址(例如中国)的订单时,它会重新格式化该地址。对于从西方国家出货的人来说,这是令人困惑的(因为我确信这是相反的方式)。
我已经尝试了以下内容,这将让我删除字段,但它似乎不允许我订购。当我查看来自中国的订单时,有些事情是最重要的。我的默认语言是澳大利亚英语。
add_filter( 'woocommerce_order_formatted_shipping_address' , 'woo_reorder_shipping_fields', 10, 2 );
function woo_reorder_shipping_fields( $address, $wc_order ) {
$address = array(
'first_name' => $wc_order->shipping_first_name,
'last_name' => $wc_order->shipping_last_name,
'company' => $wc_order->shipping_company,
'address_1' => $wc_order->shipping_address_1,
'address_2' => $wc_order->shipping_address_2,
'city' => $wc_order->shipping_city,
'state' => $wc_order->shipping_state,
'postcode' => $wc_order->shipping_postcode,
'country' => $wc_order->shipping_country
);
return $address;
}
答案 0 :(得分:0)
因此,经过一些研究并尝试了许多不同的覆盖,我发现这里最好的解决方案是WooComerce Booster。它有一个内置的设置,允许更改地址格式,允许您以不同的方式设置每个国家或设置它们。
如果您只想在一个国家/地区(或没有插件)进行此操作,您可以在子主题的functions.php中使用以下代码。
function custom_address_formats( $formats ) {
$formats[ 'US' ] = "{address_1}\n{address_2}\n{postcode} {city} {state}\n{country}";
return $formats;
}
add_filter( 'my_address_formats', 'custom_address_formats', 20 );
只需为您要修改的每个国家/地区创建上述代码,将“US”替换为您要修改的国家/地区的双字母国家/地区代码。