-
JulieB
Hello,
I use GP Premium and WooCommerce for my website and I would like to add a text field to the WooCommerce order validation form. I’ve installed the Checkout Field Manager plugin but I can’t display the field.
I’ve tried directly in PHP in the functions.php file (thanks ChatGPT), but that doesn’t work either.
Do you have any ideas? Are the hooks compatible with the theme?Thanks
PHP :
// Ajouter un champ personnalisé à la page de commande add_action('woocommerce_after_order_notes', 'custom_checkout_field'); function custom_checkout_field($checkout) { echo '<div id="custom_checkout_field"><h2>' . __('Code d\'authentification') . '</h2>'; woocommerce_form_field('custom_code', array( 'type' => 'text', 'class' => array('custom-code-class form-row-wide'), 'label' => __('Entrez votre code'), 'placeholder' => __('Code composé de lettres et de chiffres'), 'required' => true, ), $checkout->get_value('custom_code')); echo '</div>'; } // Valider le champ personnalisé add_action('woocommerce_checkout_process', 'custom_checkout_field_process'); function custom_checkout_field_process() { if (empty($_POST['custom_code'])) { wc_add_notice(__('Veuillez entrer un code d\'authentification.'), 'error'); } else { if (!preg_match('/^[a-zA-Z0-9]+$/', $_POST['custom_code'])) { wc_add_notice(__('Le code doit être composé uniquement de lettres et de chiffres.'), 'error'); } } } // Enregistrer la valeur du champ personnalisé dans les données de la commande add_action('woocommerce_checkout_update_order_meta', 'custom_checkout_field_update_order_meta'); function custom_checkout_field_update_order_meta($order_id) { if (!empty($_POST['custom_code'])) { update_post_meta($order_id, '_custom_code', sanitize_text_field($_POST['custom_code'])); } } // Afficher la valeur du champ personnalisé dans l'administration des commandes add_action('woocommerce_admin_order_data_after_billing_address', 'custom_checkout_field_display_admin_order_meta', 10, 1); function custom_checkout_field_display_admin_order_meta($order) { $custom_code = get_post_meta($order->get_id(), '_custom_code', true); if (!empty($custom_code)) { echo '<p><strong>' . __('Code d\'authentification') . ':</strong> ' . esc_html($custom_code) . '</p>'; } }
-
David
Hi there,
the Theme doesn’t change or interfere with Woocommerce templates, we leave them well alone 🙂
First thing to check is whether the Checkout page is showing the legacy PHP checkout template or is it using the new Checkout Block. If its the latter then 90% of Woos hooks do not exist in the block.
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.