Woocommerce Checkout: Platzhalter im Länder-Dropdown hinzufügen [duplicate]

Lesezeit: 3 Minuten

In der Kasse meines Woocommerce-Shops befindet sich ein Dropdown-Menü zur Auswahl Ihres Landes. Standardmäßig sind die USA bereits automatisch ausgewählt. Wie kann man stattdessen einfach einen Platzhalter mit „Wählen Sie Ihr Land“ haben?

Ich habe keine Lösung zu diesem Thema gefunden, hat jemand eine Idee?

Ich habe die anderen Platzhalter geändert, die keine Dropdowns sind, sich aber im selben Formular befinden:

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;
}

Meine schlechte Lösung für den Moment ist: Ich habe ein neues “Land in der Dropdown-Liste” erstellt, das ich gerade benannt habe: Wählen Sie Ihr Land * aus und wählen Sie es dann einfach standardmäßig anstelle der USA aus. Aber das Problem ist hier, dass das System denkt, dass bereits ein echtes Land ausgewählt ist, also ist es kein Pflichtfeld mehr und auch die Tatsache, dass es für den Benutzer einfach nicht normal aussieht, wenn er sein Land auswählt:

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'; 
}

Über Hilfe oder Tipps würde ich mich freuen!

Dies funktioniert für meine Seite, versuchen Sie dies

// 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'; 
}

  • Hey, danke, das hat schon eines der Probleme behoben, dass es jetzt ein Pflichtfeld ist. Aber das “Wählen Sie Ihr Land*” ist immer noch kein Platzhalter, der einfach verschwindet, nachdem Sie auf das Dropdown-Menü geklickt haben.

    – Mauricem

    13. Februar 2020 um 12:44 Uhr

Gehen Sie einfach zu WooCommerce > Settings. Auf der Registerkarte Allgemein finden Sie Standard-Kundenstandort. Stellen Sie es ein No location by default

Geben Sie hier die Bildbeschreibung ein

  • Vielen Dank für den Tipp, aber in meinem Fall wird kein Platzhaltertext in der Dropdown-Liste hinzugefügt.

    – Mauricem

    13. Februar 2020 um 12:38 Uhr

  • @mauricem ja, das wird es nicht. Sie sollten dasselbe verwenden, wie Sie es mit anderen Feldern gemacht haben woocommerce_checkout_fields Filter

    – Reigel Gallarde

    13. Februar 2020 um 12:41 Uhr


  • Das Problem bei dieser Lösung ist, dass auch andere Funktionen auf der Geolokalisierung der Benutzer basieren. Steuern, Währung usw. Sie wissen auch, wie Sie den Platzhalter setzen, ohne den Standard-Kundenstandort zu ändern?

    – Mauricem

    13. Februar 2020 um 13:32 Uhr

Dies war eines der ersten Ergebnisse, das mir angezeigt wurde, als ich suchte, wie man einen Platzhalter für ein ausgewähltes Feld auf der Woocommerce-Checkout-Seite festlegt, also für alle zukünftigen Besucher:

Ich habe ein Firmenauswahlfeld, das ich dynamisch mit Werten aus der Datenbank fülle. Um einen Platzhalterwert festzulegen, füge ich einfach eine Option mit einem leeren Wert hinzu.

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;
}

1122150cookie-checkWoocommerce Checkout: Platzhalter im Länder-Dropdown hinzufügen [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy