我想在网站上某个地方显示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>';
我已经测试了同样的代码,并将其用于一个简码中,然后在产品描述中使用了该简码。这里是非常简单和精简的代码:
global $woocommerce;
woocommerce_form_field( 'billing_country', array( 'type' => 'country' ) );
woocommerce_form_field
函数在此处。 - honk31add_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;
}
我的做法是这样的:
$wc_countries = new WC_Countries();
$countries = $wc_countries->get_countries();
woocommerce_form_field
有一个type => country参数,这正是您要寻找的内容。请参考Braj Kishor Sah的回答。 - honk31