web-dev-qa-db-fra.com

Comment envelopper le bouton de soumission du formulaire de commentaire avec div

Est-il possible d'envelopper le bouton d'envoi avec un élément html tout en utilisant la fonction wordpress function comment_form.

$comments_args = array(
            'id_form'               => 'main-contact-form',
            'class_form'            => 'contact-form',
            'class_submit'          => 'btn btn-primary btn-lg',
            'label_submit'          => 'Add Comment',
            'fields'                =>  $fields,
            'title_reply_before'    => '<div class="message_heading"><h4>',
            'title_reply_after'    => '</h4><p>Make sure you enter the(*)required information where indicate.HTML code is not allowed</p></div>',
            'comment_field' => '
                <div class="row"><div class="col-sm-7">                        
                    <div class="form-group">
                        <label>Message *</label>
                        <textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
                    </div> 
                </div>'

        );

        comment_form($comments_args);

Je veux que le code de sortie pour le bouton d'envoi soit comme:

 <div class="form-group">
     <input type="submit" class="btn btn-primary btn-lg>
 </div>
6
Ashish

Nous pouvons utiliser le paramètre comment_form functionsubmit_buttonpour modifier le code d'envoi du bouton HTML.

Le code HTML par défaut pour submit_button est

<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />

Vous pouvez changer votre code comme ça.

$comments_args = array(
   ....

   'submit_button' => '<div class="form-group">
            <input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />
        </div>'

   ....
);

Mise à jour:

En ce qui concerne %1$s, %2$s et ainsi de suite.

Si vous regardez comment_form () source, vous verrez que submit_button traverse sprintf comme ceci.

$submit_button = sprintf(
  $args['submit_button'],
    esc_attr( $args['name_submit'] ),
    esc_attr( $args['id_submit'] ),
    esc_attr( $args['class_submit'] ),
    esc_attr( $args['label_submit'] )
);
9
bravokeyl

Veuillez placer le code ci-dessous dans le fichier functions.php de votre thème. Le bouton de soumission sera placé dans div:

// define the comment_form_submit_button callback
function filter_comment_form_submit_button( $submit_button, $args ) {
    // make filter magic happen here...
    $submit_before = '<div class="form-group">';
    $submit_after = '</div>';
    return $submit_before . $submit_button . $submit_after;
};

// add the filter
add_filter( 'comment_form_submit_button', 'filter_comment_form_submit_button', 10, 2 );
5
Prasad Nevase

Réponse encore plus mise à jour:

'submit_field' => '<p class="form-submit">%1$s %2$s</p>',
0
Bican M. Valeriu