Woocommerce Checkout:在国家/地区下拉列表中添加占位符

Woocommerce Checkout: Add placeholder in country dropdown

在我的 Woocommerce-Shop 的结帐处有一个下拉菜单供您选择您所在的国家/地区。 默认情况下,美国已经自动 selected。 如何只用“select your country”代替占位符?

我找不到这个主题的任何解决方案有人知道吗?

我更改了其他不是下拉列表但位于同一表单内的占位符:

add_filter( 'woocommerce_checkout_fields' , 'override_billing_checkout_fields', 20, 1 );
function override_billing_checkout_fields( $fields ) {
    $fields['billing']['billing_first_name']['placeholder'] = 'First Name*';
    $fields['billing']['billing_last_name']['placeholder'] = 'Last Name*';
    $fields['billing']['billing_city']['placeholder'] = 'Town / City*';
    $fields['billing']['billing_postcode']['placeholder'] = 'ZIP*';
    $fields['billing']['billing_email']['placeholder'] = 'Email Address*';
    return $fields;
}

我目前糟糕的解决方案是:我创建了一个新的 "Country in the Dropdown List",我刚刚将其命名为:select 你的国家/地区* 然后 select 默认编辑它而不是美国.但问题在于,系统认为已经选择了一个真实的国家,因此它不再是必填字段,而且当用户选择他们的国家时,它看起来并不常见:

function woo_add_my_country( $country ) {
   $country["PLACE"] = 'select your country*';
   return $country;
}
add_filter( 'woocommerce_countries', 'woo_add_my_country', 10, 1 );


add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );

function bbloomer_change_default_checkout_country() {
  return 'PLACE'; 
}

如有任何帮助或提示,我将不胜感激!

这对我有用试试这个

// Change the default country and state on checkout page. 
// This works for a new session.
add_filter( 'default_checkout_country', 'xa_set_default_checkout_country' );
add_filter( 'default_checkout_state', 'xa_set_default_checkout_state' );
function xa_set_default_checkout_country() {
  // Returns empty country by default.
    return null;
  // Returns India as default country.
     // return 'IN';
}

function xa_set_default_checkout_state() {
  // Returns empty state by default.
    return null;
  // Returns Madhya Pradesh as default state.
     // return 'MP';
}
function woo_add_my_country( $country ) {
   $country["PLACE"] = 'select your country*';
   return $country;
}
add_filter( 'woocommerce_countries', 'woo_add_my_country', 10, 1 );


add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );

function bbloomer_change_default_checkout_country() {
  return 'PLACE'; 
}

只需转到 WooCommerce > Settings。 在“常规”选项卡上,您会找到 默认客户位置。将其设置为 No location by default

这是我在搜索如何为 Woocommerce 结帐页面上的 select 字段设置占位符时弹出的第一批结果之一,因此对于任何未来的访问者:

我有一个公司 select 字段,我使用数据库中的值动态填充该字段。为了设置占位符值,我只是添加了一个空白值的选项。

add_filter( 'woocommerce_checkout_fields' , 'populate_company_field' );
function populate_company_field($fields) {
  $results = get_results_from_database();
  $options[''] = __('Choose your company', 'gs'); //add blank value = placeholder

  foreach ($results as $result) {
    if (!empty($result->company)) {
        $options[$result->ID] = $result->company;
    }
  }

  $fields['billing']['company']['options'] = $options;

  return $fields;
}