如何获得 woocommerce 国家 select 下拉列表?

How to get woocommerce country select dropdown?

我想在网站上的某些位置显示 woocommerce 国家/地区列表。我怎样才能得到像这样的国家/地区列表?

是的,您可以通过在任何需要的地方使用以下代码来实现此目的

global $woocommerce;
    $countries_obj   = new WC_Countries();
    $countries   = $countries_obj->__get('countries');
    echo '<div id="my_custom_countries_field"><h2>' . __('Countries') . '</h2>';

    woocommerce_form_field('my_country_field', array(
    'type'       => 'select',
    'class'      => array( 'chzn-drop' ),
    'label'      => __('Select a country'),
    'placeholder'    => __('Enter something'),
    'options'    => $countries
    )
    );
    echo '</div>';

我测试了相同的代码,并在短代码中使用了相同的代码,并在产品描述中使用了该短代码

让我知道这是否也适合你。

如果您想要自定义国家/地区,可以将此添加到您的 function.php:

add_filter( 'woocommerce_checkout_fields', 'add_custom_select_country' );
function add_custom_select_country( $fields ) {
    $fields['billing']['billing_select_country'] = array(
        'type'      => 'select',
        'required'  => true,
        'clear'     => false,
        'options'   => array(
        'country'   => __('Country', 'woocommerce' ),
        'fr'        => __('France', 'woocommerce' ),
        'gb'        => __('United Kingdom', 'woocommerce' ),
        'ru'        => __('Russian', 'woocommerce' )
    )
);
return $fields;
}

这里是非常简单和精简的代码:

global $woocommerce;    
woocommerce_form_field( 'billing_country', array( 'type' => 'country' ) );

我的方法是这样的:

$wc_countries = new WC_Countries();
$countries = $wc_countries->get_countries();