- Ein benutzerdefiniertes Feld mit dem Filter woocommerce_checkout_fields hinzufügen (oder indem wir woocommerce_form_field() an einem bestimmten Vorlagenspeicherort aufrufen).
- Speichern Sie die Daten mit der Aktion woocommerce_checkout_create_order, $update_post_meta() Funktion und Zugriff auf die globale Funktion $_POST.
- Ein benutzerdefiniertes Feld mit woocommerce_register_additional_checkout_field() während der Aktion woocommerce_init hinzufügen.
- Speichern Sie die Daten durch Aufruf $wc_object->update_meta_data() innerhalb einer Aktion, die mit woocommerce_set_additional_field_value verknüpft ist.
Code: Select all
textMeine Frage ist:
Gibt es derzeit eine andere Möglichkeit, benutzerdefinierte Felder hinzuzufügen, insbesondere ein -Feld zum Checkout-Block, wie wir es im klassischen Block tun könnten, z. B.:
Code: Select all
add_filter('woocommerce_checkout_fields', function ($fields) {
$fields['billing']['my_custom_field'] = array(
'label' => 'some label',
'placeholder' => 'placeholder',
'required' => true,
'class' => array('form-row-wide'),
'clear' => true,
'hidden' => true
);
return $fields;
}, 20);
Code: Select all
add_action('woocommerce_checkout_create_order', function($order) {
if($_POST['my_custom_field']) {
$order->update_meta_data('my_custom_meta_data', $_POST['my_custom_field']);
$order->save();
}
});
Mobile version