champs texte personnalisé et obligatoire (Créer un compte)

  • WordPress :6.1
  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #2452352
    fred27000
    Participant
    Initié WordPress
    25 contributions

    Bonjour, je souhaiterais intégrer un champs de texte obligatoire pour demander au client la date de son événement avant de valider le panier, en effet nous vendons des produits alimentaire personnalisé pour cela nous avons le module de personnalisation fancy product designer, car certain clients commande au dernier moment et d’autres largement en avance et j’aurais besoin de cette date afin de faire partir leurs commandes en fonction. pourriez vous m’aidez svp, cordialement Fred

    Ma configuration WP actuelle :
    – Version de WordPress : 6.2
    – Version de PHP / MySQL : 7.4.33 / 5.7.32
    – Thème utilisé : the7dtchild (slug : dt-the7-child)
    – Thème parent : The7 (slug : dt-the7)
    – Thème URI : https://the7.io/
    – Extensions activées : Anti-Malware Security and Brute-Force Firewall (4.21.92), Classic Editor (1.6.3), Envato Market (2.0.8), Facebook for WooCommerce (3.0.18), Fancy Product Designer (4.8.3), Favicon by RealFaviconGenerator (1.3.27), GA Google Analytics (20230306), Infosite (6), Limit Login Attempts Reloaded (2.25.15), Mailchimp for WooCommerce (2.8.2), ManageWP – Worker (4.9.17), Newsletter, SMTP, Email marketing and Subscribe forms by Sendinblue (3.1.59), Packlink PRO Shipping (3.2.14), PayPlug pour WooCommerce (Officiel) (2.3.0), PDF Invoices & Packing Slips for WooCommerce (3.5.2), SEOPress (6.5.0.3), Slider Revolution (6.6.12), The7 Elements (2.7.4), Ultimate Addons for WPBakery Page Builder (3.19.13), WebP Express (0.25.5), WooCommerce (7.6.0), WooCommerce PayPal Payments (2.0.4), WooCommerce Table Rate Shipping (4.3.7), WPBakery Page Builder (6.9.0), WP Fastest Cache (1.1.4)
    – Extensions désactivées : WooCommerce Admin (3.3.2), WP Maintenance (6.1.3)
    – Adresse du site : https://photosurgateau.com
    – Hébergeur :

    #2452593
    ferman
    Participant
    Maître WordPress
    6333 contributions

    Bonjour,

    Il faut d’abord créer un champ personnalisé dans une page produit woocommerce.

    Puis on peut partir de ce qui est décrit dans cet article en modifiant:

    1. Le type de l’input de « text » en « date »
    2. En rendant obligatoire cet input.

    On ajuste les titres et labels comme on veut.

    Ce qui donne les trois fonctions ci-dessous à mettre dans functions.php d’un thème enfant, ou mieux dans un plugin personnel. C’est facile à faire  mais je n’ai pas eu le temps d’essayer.

    function my_custom_checkout_field( $checkout ) {

    echo '<div id="my_custom_checkout_field"><h2>' . __('Date événement') . '</h2>';

    woocommerce_form_field( 'my_field_name', array(
    'type' => 'date',
    'class' => array('my-field-class form-row-wide'),
    'label' => __('Date de l\'événement'),
    'placeholder' => __('Entrez une date'),
    'required' => true,
    ), $checkout->get_value( 'my_field_name' ));

    echo '</div>';
    }
    add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );

    function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['my_field_name'] )
    wc_add_notice( __( 'Merci de préciser la date de l\'évènement.' ), 'error' );
    }
    add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

    function my_custom_checkout_field_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['my_field_name'] ) ) {
    update_post_meta( $order_id, 'Date événement', sanitize_text_field( $_POST['my_field_name'] ) );
    }
    }
    add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );

    Du côté admin, la date apparaît dans le champ personnalisé.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2452755
    fred27000
    Participant
    Initié WordPress
    25 contributions

    Bonjour je vous remercie beaucoup, mais là c’est un peu compliqué pour moi, j’ai télécharger ce plugin: Manage and customize WooCommerce Checkout fields (Add, Edit, Delete or re-order fields).

    ca à l’air de fonctionner, par contre j’ai un autre problème qui vient de ce créer et que je n’arrive pas à résoudre, lorsque je crée un nouveau produit

    personnalisé et que je tape mon texte dans description du produit et que j’enregistre je fait visualisé j’ai seulement un petit bout de texte qui apparait,

    pourriez vous m’aider svp

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2452758
    ferman
    Participant
    Maître WordPress
    6333 contributions

    Bonjour,

    Là je ne sais pas mais vous devriez ouvrir un autre sujet pour cette nouvelle question, avec le titre approprié.

    #2452761
    fred27000
    Participant
    Initié WordPress
    25 contributions

    ok merci beaucoup bonne journée

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.