Rendre un champ obligatoire en champ facultatif

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #546759
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress :
    – Version de PHP/MySQL :
    – Thème utilisé :
    – Extensions en place :
    – Nom de l’hebergeur :
    – Adresse du site : http://sansmaitre.be

    Problème(s) rencontré(s) :

    Bonjour.

    Dans la confirmation de commande, deux champs ont été ajoutés pour les informations d’entreprise.
    Bien que ces codes soient en ‘required’ => false, lors de l’encodage d’une commande, ces champs sont obligatoires, sans les compléter il est impossible de valider une commande.

    Quelle partie est à midifier svp ?

    Voici le code complet pour cette partie :

    /**
    * Process the checkout
    */
    add_action(‘woocommerce_checkout_process’, ‘my_custom_checkout_field_process’);

    function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST )
    wc_add_notice( __( ‘Merci de renseigner tous les champs’ ), ‘error’ );
    }
    /**
    * Update the order meta with field value
    */
    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 ( ! empty( $_POST ) ) {
    update_post_meta( $order_id, ‘N° de TVA au format européen’, sanitize_text_field( $_POST ) );
    }
    }
    /**
    * Display field value on the order edit page
    */
    add_action( ‘woocommerce_admin_order_data_after_billing_address’, ‘my_custom_checkout_field_display_admin_order_meta’, 10, 1 );

    function my_custom_checkout_field_display_admin_order_meta($order){
    echo ‘

    ‘.__(‘N° de TVA au format européen’).’: ‘ . get_post_meta( $order->id, ‘N° de TVA au format européen’, true ) . ‘

    ‘;
    }
    /**
    * Add the field to the checkout
    */
    add_action( ‘woocommerce_after_order_notes’, ‘my_custom_checkout_field2’ );

    function my_custom_checkout_field2( $checkout ) {

    echo ‘

    ‘;

    woocommerce_form_field( ‘my_field_name’, array(
    ‘type’ => ‘text’,
    ‘class’ => array(‘my-field-class form-row-wide’),
    ‘label’ => __(‘Raison sociale’),
    ‘required’ => false,
    ‘placeholder’ => __(‘sa, sprl, asbl, …’),
    ), $checkout->get_value( ‘my_field_name2’ ));

    echo ‘

    ‘;

    #992962
    didier07
    Participant
    Maître WordPress
    1965 contributions

    Tout bêtement là :
    [c]function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST )
    wc_add_notice( __( ‘Merci de renseigner tous les champs’ ), ‘error’ );
    }[/c]
    Tu lui dit de mettre une alerte quand le champ est vide 😳 !

    #992963
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Ah, ce n’est pas moi qui au fait ce code. C’est un gentil contributeur sur le présent forum.

    Génial. Merci pour l’information. Ca va tout de suite mieux 🍺

    #992964
    didier07
    Participant
    Maître WordPress
    1965 contributions

    🍺

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