gpt4 book ai didi

php - 从 WooCommerce 中的国家代码获取国家名称

转载 作者:可可西里 更新时间:2023-11-01 12:24:19 28 4
gpt4 key购买 nike

WooCommerce 对国家/地区的定义如下(为简洁起见进行了编辑):

class WC_Countries {
public $countries;

public function __construct() {
global $woocommerce, $states;

$this->countries = apply_filters( 'woocommerce_countries', array(
'AF' => __( 'Afghanistan', 'woocommerce' ),
'AX' => __( 'Åland Islands', 'woocommerce' ),
'AL' => __( 'Albania', 'woocommerce' ),
'DZ' => __( 'Algeria', 'woocommerce' ),
// […]
));
}
}

下订单时,国家代码将写入 WordPress wp_postmeta 表,并且可以使用 get_post_meta() 函数在任何可以访问订单 ID 的地方提取:

get_post_meta( $order->id, '_shipping_country', true ),

由于我们只是从数据库中检索两个字符,问题是如何将运送国家代码(例如 AF)转换为 WC_Countries 中指定的国家名称类(class)?

最佳答案

您可以使用WC()->countries 访问WC_Countries 类。因此,要从订单中获取国家名称,您必须使用:

WC()->countries->countries[ $order->shipping_country ];

在 WooCommerce 3.0+ 上你应该使用:

WC()->countries->countries[ $order->get_shipping_country() ];

如果你想获取状态,你需要先检查是否存在,因为 WooCommerce 不包括所有状态,所以这里你需要什么:

$states = WC()->countries->get_states( $order->get_shipping_country() );
$state = ! empty( $states[ $order->get_shipping_state() ] ) ? $states[ $order->get_shipping_state() ] : '';

关于php - 从 WooCommerce 中的国家代码获取国家名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25528454/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com