【问题标题】:Display the full country name rather than country code in WooCommerce?在 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="">

我们目前得到的图像

我们想要得到的图像

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce country


    【解决方案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 ]
    • 这很有帮助。非常感激的父亲
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多