Hinzufügen versteckter benutzerdefinierter Felder in Woocommerce-Checkout-BlöckenPhp

PHP-Programmierer chatten hier
Anonymous
 Hinzufügen versteckter benutzerdefinierter Felder in Woocommerce-Checkout-Blöcken

Post by Anonymous »

Im klassischen Woocommerce-Checkout können wir:
  • 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.
In den neueren Checkout-Blöcken können wir:
  • 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.
Allerdings sind wir mit dieser Methode derzeit darauf beschränkt, nur wenige Arten von Feldern hinzuzufügen (

Code: Select all

text
, select oder checkbox), und derzeit werden nicht alle Feldtypen unterstützt.
Meine 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);
und dann:

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post