Ajouter une validation pour les champs de paiement obligatoires supplémentaires personnalisés pour WooCommerce
P粉204136428
P粉204136428 2023-07-27 12:38:49
0
1
429
<p>Donc, si le produit appartient à une catégorie spécifique, j'ajouterai ces champs WooCommerce à la page de paiement. Mais maintenant, j'ai défini « required=true » pour les deux champs mais cela ne fonctionne pas ? </p><p>Voici comment j'ai créé ces champs : </p><p><br /></p> <pre class="brush:php;toolbar:false;"><?php add_action( 'woocommerce_before_order_notes', 'add_video_short_checkout_fields', 1000, 1 ); fonction add_video_short_checkout_fields( $checkout ) { date_default_timezone_set('Europe/Amsterdam'); // Boucle à travers les éléments du panier foreach ( WC()->cart->get_cart() comme $cart_item_key => $cart_item ) { $produit = $cart_item['data']; if ( has_term( 'video-short', 'product_cat', $product->get_id() ) ) { $product_title = $product->get_name(); $product_id = $product->get_id(); $unique_id = $cart_item_key ; $current_date = date('d-m-Y', strtotime('+72 heures')); $hours_to_add = 24 ; // Ajouter des champs personnalisés pour le produit echo '<div class="video-short-fields group_extra_info">'; echo '<h3>' . echo '<div class="video-short-fields form-row-group">'; woocommerce_form_field( 'custom_field_1_' . $unique_id, array( 'type' => 'texte', 'class' => array( 'video_veld customfield_start form-row-wide' ), 'label' => __( 'Titre vidéo court', 'woocommerce' ), 'placeholder' => __( 'Votre titre', 'woocommerce' ), 'obligatoire' => vrai, ), $cart_item['my_custom_field_1'] ); $hours_to_add += 24 ; } ?>≪/pré> <p><br /></p>
P粉204136428
P粉204136428

répondre à tous(1)
P粉135799949

Vous avez mentionné différents noms de fonctions.

Le nom de la fonction est add_youtube_short_checkout_fields, mais le hook fait référence à add_video_short_checkout_fields.

<?php
    
    
    add_action( 'woocommerce_before_order_notes', 'add_youtube_short_checkout_fields', 1000, 1 );
    function add_youtube_short_checkout_fields( $checkout ) {
    
        date_default_timezone_set('Europe/Amsterdam');
    
        // Loop through cart items
        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
            $product = $cart_item['data'];
    
            if ( has_term( 'video-short', 'product_cat', $product->get_id() ) ) {
                $product_title = $product->get_name();
                $product_id = $product->get_id();
                $unique_id = $cart_item_key;
    
                $current_date = date('d-m-Y', strtotime('+72 hours'));
                $hours_to_add = 24;
    
                // Add custom fields for the product
                echo '<div class="video-short-fields group_extra_info">';
                echo '<h3>' . esc_html( $product_title ) . '</h3>';
                echo '<div class="video-short-fields form-row-group">';
    
                woocommerce_form_field( 'custom_field_1_' . $unique_id, array(
                    'type' => 'text',
                    'class' => array( 'video_veld customfield_start form-row-wide' ),
                    'label' => __( 'Video Title Short', 'woocommerce' ),
                    'placeholder' => __( 'Your title', 'woocommerce' ),
                    'required' => true,
                    ), $cart_item['my_custom_field_1'] );
    
    
    
                $hours_to_add += 24;
        
            }
    
    
    
    ?>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal