Comment ajouter une classe au bouton d'envoi de commentaires? La fonction simplifiée comment_form(array('id_submit'=>'buttonPro'));
ne change évidemment que l'id et class_submit
ne semble pas exister.
Si vous extrayez la source de la fonction comment_form()
, vous verrez qu'elle n'imprime même pas une classe sur l'entrée;
<input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
Je suppose que vous devez ajouter une classe de style? Pourquoi ne pas modifier votre CSS pour simplement;
input.submit, #buttonPro {
/* some awesome style */
}
Sinon, je suppose que la solution la plus simple serait simplement de copier la fonction dans votre functions.php
, de le renommer, d’ajouter un argument de classe & print et d’utiliser celui-ci - que vous pouvez trouver ici ;)
À partir de WordPress version 4.1 ( billet de train # 20446 ) il est maintenant ajouté pour passer votre propre classe en tant qu'argument de comment_form($args)
en utilisant 'class_submit'
clé de tableau:
$args = array( 'class_submit' => 'btn btn-default' );
Pas besoin de travailler très dur. (Edité le Codex aussi) :)
Je travaille aussi avec le framework Foundation. J'ai trouvé que le moyen le plus simple d'ajouter une classe à un élément non filtrable est de le faire avec jQuery.
jQuery(document).ready(function($) { //noconflict wrapper
$('input#submit').addClass('button');
});//end noconflict
Pourquoi avez-vous besoin d'un cours sur le bouton d'envoi? Vous pouvez lui attribuer un identifiant, comme vous l'avez découvert, et c'est tout ce dont vous avez besoin pour le styler.
comment_form(array('id_submit'=>'buttonPro'));
Puis pour le coiffer:
input#buttonPro {...}
Simple. Ou, si vous préférez utiliser les classes uniquement pour une raison quelconque:
.form-submit input {...}
Je ne vois aucun avantage, de quelque angle que ce soit, à mettre une classe sur le bouton de soumission du formulaire de commentaire.
Je recherchais la même solution et, enfin, j'ai trouvé la solution, le code ci-dessous a parfaitement fonctionné pour moi. Je voulais ajouter la classe "btn btn-primary" au bouton de soumission sous forme de commentaire.
ob_start();
comment_form( $args );
$form = ob_get_clean();
$form = str_replace('class="comment-form"','class="comment-form"', $form);
echo str_replace('id="submit"','class="btn btn-primary"', $form);
les $ args que j'ai utilisés sont
$args = array(
'comment_field' => '<p class="comment-form-comment"><label for="comment">Comment</label> <textarea class="form-control" id="comment" name="comment" cols="35" rows="12" aria-required="true"></textarea></p>',
'fields' => array(
'author' => '<p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input class="form-control input-comment-author" id="author" name="author" type="text" value="" size="30" aria-required="true"></p>',
'email' => '<p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input class="form-control input-comment-email" id="email" name="email" type="text" value="" size="30" aria-required="true"></p>',
'url' => '<p class="comment-form-url"><label for="url">Website</label> <input class="form-control input-comment-url" id="url" name="url" type="text" value="" size="30"></p>',
),
'cancel_reply_link' => '<button class="btn btn-danger btn-xs">Cancel reply</button>',
'label_submit' => 'Post Comment',);
Je suggère à ceux qui ont ce problème de définir un style pour id "post-comment", comme ce que j'ai fait:
#post-comment {
background: none repeat scroll 0 0 transparent;
border: 1px solid #FFFFFF;
padding: 8px 20px;
float: left;}
bonne chance! :)