Ich habe eine Ajax-Kasse auf meiner Woocommerce-Installation und ich versuche, die benutzerdefinierten Felder an der Kasse zu erfassen. Ich verwende den folgenden Code, um das Feld namens add_gift_box zu erfassen. Das Feld erscheint auf meiner Checkout-Seite einwandfrei.Wie benutzerdefinierte Checkout-Felder in Ajax Checkout in woocommerce haben
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');
function my_custom_checkout_field_update_order_meta($order_id) {
if ($_POST['add_gift_box']) {
update_post_meta($order_id, '_add_gift_box', esc_attr($_POST['add_gift_box']));
}
}
Wenn ich drücke auf „Bestellung“, um eine neue Ordnung schafft, sondern den Wert dieses Feldes erhalten nicht in der Datenbank gespeichert. Ich glaube nicht einmal der Haken wird gefeuert. Wie gesagt, alles wird von Ajax gehandhabt. Die Checkout-Seite ist eine Seite zum Auschecken.
Ich brauche Hilfe beim Aussortieren. Danke im Voraus.
UPDATE
ich das Feld setze wie folgt:
add_action('woocommerce_after_checkout_billing_form', 'add_box_option_to_checkout');
function add_box_option_to_checkout($checkout) {
woocommerce_form_field('add_gift_box', array(
'type' => 'radio',
'class' => array('add_gift_box form-row-wide'),
'label_class' => array('checkbox'),
'input_class' => array('input-checkbox'),
'required' => true,
'options' => array(
'option_1' => 'option1</br>' ,
'option_2' =>'option2</br>',
'option_3' =>'option3</br>',
'option_4' =>'option4</br>',
'option_5' =>'option5</br>',
'option_6' =>'option6</br>',
'option_7' =>'option7</br>',
),
'label' => __('Select Option'),
'placeholder' => __(''),
), $checkout->get_value('add_gift_box'));
}
sollten Sie etwas verwenden wie: 'if (! Empty ($ _POST ['add_gift_box'])) {' ... Da wir nicht wissen, wie Sie dieses benutzerdefinierte Feld einstellen, ist schwer herauszufinden, was schief geht und zu Probier es aus. Siehe offizielle Dokumentation: https://docs.woocommerce.com/document/tutorial-customizing-checkout-fields-using-actions-and-filters/ – LoicTheAztec
Ich habe gerade die Frage mit der Art und Weise aktualisiert, wie das Feld eingestellt wird. – Ricky
Ihr Code scheint in Ordnung zu sein. Hast du die add_action für woocommerce_checkout_update_order_meta in der functions.php deines Themes oder vielleicht in einer anderen Datei oder in einem Codeblock platziert, wo sie zu spät oder gar nie geparst wird? –