在 WooCommerce 中显示完整的国家名称而不是国家代码?

Posted

技术标签:

【中文标题】在 WooCommerce 中显示完整的国家名称而不是国家代码?【英文标题】:Display the full country name rather than country code in WooCommerce? 【发布时间】:2018-01-19 21:53:22 【问题描述】:

尝试使用 <?php echo $current_user->billing_country; ?> 来显示 WooCommerce 用户计费国家/地区。例如,如果客户的帐单地址为澳大利亚,则将其作为 AU 回显。但是,我想用全名代替国家代码。

这同样适用于 billing_state。我没有得到南澳大利亚,而是得到了 SA。已经通过functions.php 完成了工作,但前提是我添加了每个州和国家。将世界状态映射到状态代码显然是一项伟大的工作。

我相信我以前以一种非常简单的方式完成过此操作,但由于某种原因,目前无法弄清楚。

国家和州在禁用输入字段中用作值

<input type="text" class="form-control" value="<?php echo $current_user->billing_country; ?>" disabled="">

我们目前得到的图像

我们想要得到的图像

【问题讨论】:

【参考方案1】:

WooCommerce 有 WC_Countries 类,你可以像这样使用它:

echo WC()->countries->countries['AU']; //To get country name by code
echo WC()->countries->states['AU']['SA']; //to get State name by state code

或(在你的情况下

echo WC()->countries->countries[$current_user->billing_country]; //To get country name by code
echo WC()->countries->states[$current_user->billing_country][$current_user->billing_state]; //to get State name by state code

希望这会有所帮助!

【讨论】:

非常感谢。辛苦了! @DarrenMathers:别忘了给我的答案投票,因为它对你有帮助! 如果状态还没有加载,试试WC()-&gt;countries-&gt;get_states( $current_user-&gt;billing_country )[ $current_user-&gt;billing_state ] 这很有帮助。非常感激的父亲

以上是关于在 WooCommerce 中显示完整的国家名称而不是国家代码?的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 3 中获取地理位置的国家和地区

如何使用地理位置而不是完整的国家和地区名称获取国家和地区代码

检查IP国家/地区并显示完整的国家名称

Woocommerce 在前端列出并显示 WooCommerce 运输区域

如何在 woocommerce 商店的下拉列表中获取并自动显示访问者的地理位置数据(国家/地区)

在产品标题下方显示 woocommerce 产品属性 slug