web-dev-qa-db-fra.com

Créer un formulaire comments.php de code HTML personnalisé

Un exemple de comments.php est disponible ici .

J'ai créé le fichier comments.php dans mon dossier de thèmes. Dans mon content.php, mon code HTML d'affichage de commentaires ressemble à ceci:

<textarea name="name" rows="8" cols="80"></textarea>
    <div class="t-comment-section">
        <p>Full Name:</p>  <input type="text" name="Full Name">
        <p>Email:</p>  <input type="text" name="Email address">
        <p>Website:</p>  <input type="text" name="Website url">
        <a href=""><i class="fa fa-comment" aria-hidden="true"></i><span> Submit Comment </span></a>
    </div>

Comment dois-je connecter mon comments.php au HTML qui sera utilisé pour afficher le formulaire de commentaire dans mon single.php ou en bref toutes les pages de publication qui apparaîtront?

1
The WP Novice

La fonction comment_form() est assez personnalisable et accepte une variété d'arguments. Jetez un oeil à ces exemples d'arguments, vous pouvez les modifier pour répondre à vos besoins:

$fields =  array(
    'author' =>
        '<input name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) .'" size="30" placeholder="'.__('Your name','text-domain').( $req ? ' (Required)' : '' ).'"/>',
    'email' =>
        '<input name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) .'" size="30" placeholder="'.__('Your email','text-domain').( $req ? ' (Required)' : '' ).'"/>',
);
$args = array(
    'id_form'           => 'commentform',
    'class_form'        => 'comment-form',
    'id_submit'         => 'submit',
    'class_submit'      => 'submit',
    'name_submit'       => 'submit',
    'submit_button'     => '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />',
    'title_reply'       => '',
    'title_reply_to'    => __( 'Reply to %s','text-domain' ),
    'cancel_reply_link' => __( 'Cancel comment','text-domain' ),
    'label_submit'      => __( 'Post comment','text-domain' ),
    'format'            => 'xhtml',
    'comment_field'     =>  '<textarea id="comment" name="comment" placeholder="'.__('Comment text','text-domain').'" cols="45" rows="8" aria-required="true">' .'</textarea>',
    'logged_in_as'      => '<p class="logged-in-as">' .
                          sprintf(
                              __( 'Logged in as %1$s. <a href="%2$s" title="%3$s">%4$s</a>', 'text-domain'),
                              $user_identity,
                              wp_logout_url( apply_filters( 'the_permalink', get_permalink( ) ) ),
                              __('Log out?','text-domain'),
                              __('Click to log out.','text-domain')
                          ) . '</p>',
    'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.','text-domain' ) .'</p>',
    'fields'            => apply_filters( 'comment_form_default_fields', $fields ),
);

comment_form( $args );

Vous pouvez ajouter n'importe quelle classe aux éléments ou les envelopper dans <div> ou <p>.

Si vous souhaitez déplacer la zone de texte sous les autres champs, vous pouvez utiliser le filtre comment_form_fields:

function move_comment_field_to_bottom( $fields ) {
    $comment_field = $fields['comment'];
    unset( $fields['comment'] );
    $fields['comment'] = $comment_field;
    return $fields;
}

add_filter( 'comment_form_fields', 'move_comment_field_to_bottom' );

METTRE À JOUR

Pour inclure le formulaire de commentaire dans votre fichier content.php, enregistrez le premier code dans votre comment.php, puis appelez le formulaire dans la boucle de la manière suivante:

if ( comments_open() || '0' != get_comments_number() ) {
    comments_template();
}

Ceci ajoutera le comment.php à votre contenu.

1
Jack Johansson