Wir versuchen, das Standard Wooccommerce Checkout Shipping City Feld mit den dokumentierten Methoden auf docs.woothemes zu ändern, aber ein Problem aufgetreten sind.Woocommerce Überschreiben Versand Stadt Wählen Sie Feld
Wir haben das shipping_city
Textfeld durch ein select
Dropdown-Menü ersetzt.
Beim Laden der Seite wird das Dropdown-Menü select
durch das Standard-Textfeld ersetzt und, falls verfügbar, mit dem vorherigen Lieferziel des Benutzers automatisch ausgefüllt.
Wenn die Seite neu geladen/aktualisiert wird, wird das Textfeld jedoch durch das neue und sehr erwünschte Dropdown-Menü select
ersetzt.
Wir haben das Feld mit mehreren WordPress add_filter
Funktionen gefiltert und priority
sowohl nach oben als auch nach unten geändert (-999 bis 999).
Wir haben die filter
sowohl innen laufen und außerhalb unserer Liefer-Methode Class
Wir haben sogar den Browser auto Form komplett deaktiviert, da wir ... na ja aus anderen Ideen liefen ...
Wenn das select
Feld arbeiten ... es funktioniert gut. Die Versandkosten werden aktualisiert, Daten werden zurückgesendet, gespeichert und per E-Mail versandt.
Die filters
verwendet werden:
add_filter('woocommerce_checkout_fields', array($this, 'fn_name'));
add_filter('woocommerce_default_address_fields', array($this, 'fn_name'));
und die $field
Array wie folgt aussieht:
$fields[ 'shipping' ][ 'shipping_city' ] = array(
'label' => __('Suburb/City', 'woocommerce'),
'required' => FALSE,
'clear' => TRUE,
'type' => 'select',
'options' => $options_array,
'class' => array('update_totals_on_change')
);
return $fields;
Merkwürdig ist, dass, wenn wir zwei Filter auf dem gleichen Feld lief; das Etikett des Sendonds wurde von der ersten überschrieben ... geh Figur ... Gee Ich wünschte ich wüsste Ajax ... ich denke sein Ajax aber wenn ich AJAX wüsste würde ich wissen, ob es Ajax war ...
WordPress Version 4.5.2 & & WooCommerce Version 2.5.5
Dank @LoicTheAztec - Erste Tests sind vielversprechend ... Ajax ist eine hissy werfen, aber wir werden ein paar Variationen und sehen laufen, wenn wir das lösen können Problem. –