如何在管理员订单视图中禁用WooCommerce地址格式

时间:2016-07-22 01:41:21

标签: wordpress woocommerce

我正在试图弄清楚如何在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;
}

1 个答案:

答案 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”替换为您要修改的国家/地区的双字母国家/地区代码。