2016-09-26 3 views

Antwort

1

Sie müssen zuerst das Feld type von 'Text' ändern zu 'wählen' den dedizierten Haken woocommerce_default_address_fields verwenden. Dann haben Sie auch die label und und ein options Argument zu ändern, wo Sie Ihre Städte in einer Reihe von key/values gesetzt werden würde.

In diesem Array haben Sie eine Zeile für Zeile getrennt durch ein Koma. Hier

ist der Code:

add_filter('woocommerce_default_address_fields' , 'customize_checkout_city_field'); 
function customize_checkout_city_field($address_fields) { 

    // Set HERE the cities (one line by city) 
    $towns_cities_arr = array(
     '0' => __('Select your city', 'my_theme_slug'), 
     'paris' => 'Paris', 
     'versailles' => 'Versailles', 
     'cannes' => 'Cannes', 
    ); 

    // Customizing 'billing_city' field 
    $address_fields['city']['type'] = 'select'; 
    $address_fields['city']['class'] = array('form-row-last', 'my-custom-class'); // your class here 
    $address_fields['city']['label'] = __('Town/city', 'my_theme_slug'); 
    $address_fields['city']['options'] = $towns_cities_arr; 


    // Returning Checkout customized fields 
    return $address_fields; 

} 

Dieser Code geht in function.php Datei Ihres aktiven Kind Thema (oder Thema) oder auch in jeder Plugin-Datei.

Der Code ist getestet und voll funktionsfähig.


Update: benutzerdefinierte Klasse hinzuzufügen, ersetzen in $address_fields['city']['class']… die Klasse 'my-custom-class' von Ihnen.


Referenzen:

+0

ja danke, aber ich kann diesen Code in WooCommerce Plugin oder mein Thema nicht finden .. – Krusna

+0

Es funktionierte Sie meinen Tag gerettet. – Krusna

+0

Ja und noch eine Sache, die ich Klasse diesem Feld hinzufügen möchte. – Krusna

1

Sie können die Kasse Felder durch Aktionen und Filter anpassen.

Bitte beachten Sie die offizielle Dokumentation here

// Add these code in your theme's function.php 
add_filter('woocommerce_default_address_fields' , 'custom_override_default_address_fields'); 

// Our hooked in function - $address_fields is passed via the filter! 
function custom_override_default_address_fields($fields) { 

$fields['billing']['your_field']['options'] = array(
    'option_1' => 'Option 1 text', 
    'option_2' => 'Option 2 text' 
); 
    return $fields; 
} 

Falls Sie für ein Plugin suchen Sie checkout field editor von WooCommerce Team verwenden können.

Verwandte Themen