Im utilisant un filtre personnalisé pour changer les champs, mais je ne peux pas comprendre comment changer l' ordre des champs dans le formulaire de commentaire.
Ordre souhaité:
- champ de commentaire (premier / haut)
- prénom
- site Internet
Voici le code que j'utilise actuellement:
function alter_comment_form_fields($fields){
$fields['comments'] = 'Test';
$fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . __( 'Your name, please' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" placeholder="John Smith" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>';
$fields['email'] = 'next'; //removes email field
//$fields['url'] = ''; //removes website field
return $fields;
}
add_filter('comment_form_default_fields','alter_comment_form_fields');
comments
templates
comment-form
jrutter
la source
la source
comment_form_top
.comment_form_before_fields
c'est mieux alorscomment_form_top
J'ai aimé répondre toscho. Cependant, je voulais utiliser une zone de texte personnalisée, donc cela n'a pas fonctionné dans ce cas. J'ai utilisé les mêmes crochets mais avec des fonctions distinctes:
la source
Il existe évidemment un certain nombre de façons d'y parvenir. Par exemple, pour déplacer le champ de commentaire au bas du formulaire, vous utiliseriez du code comme celui-ci:
Si vous souhaitez réorganiser tous les champs, désactivez tous les champs. Remettez-les dans le tableau dans l'ordre dans lequel vous souhaitez les afficher. C'est simple, non?
J'ai pensé que je l'expliquerais explicitement pour que le prochain noobie comme moi trouve cette page et ne trouve pas les réponses utiles.
la source
Le CSS exact pour cela dépendra de votre thème, cependant, voici une façon:
Les méthodes d'affichage de table vous permettent de réorganiser des objets de hauteur arbitraire.
Plus d'informations: http://tanalin.com/en/articles/css-block-order/
la source
#commentform { display: flex; flex-flow: column; }
.comment-form-comment { order: -1; }
.les champs du formulaire de commentaire sont dans le tableau
$fields
en fonctioncomment_form()
. Vous pouvez accrocher à l'intérieur du filtrecomment_form_default_fields
et réorganiser le tableau.Vous pouvez également accrocher le filtre à l'intérieur
comment_form_defaults
et modifier les paramètres par défaut; laissez toutes les données dans le tableau et modifiez uniquementfield
le tableau avec vos champs personnalisés; inclure le html.les champs par défaut si $:
la source