WordPress : Comment réorganiser les éléments renvoyés par wp_list_comments() ?

Publié par Jean-Michel le

Je suis nouveau dans le développement de thèmes WordPress et j’apprends en créant mon propre thème.
Je souhaite réorganiser les éléments renvoyés par wp_list_comments().

J’ai créé comments.phpdans mon dossier de thème et il ressemble actuellement à ceci-

<div id="comments">
    <ol class="commentlist">
        <?php
            $comments = get_comments(array(
                'post_id' => XXX,
                'status' => 'approve'displayed
            ));

            wp_list_comments(array(
                'per_page' => 10,
                'reverse_top_level' => false
            ), $comments);
        ?>
    </ol>
    <?php comment_form(); ?>
</div>

Voici le code HTML actuellement généré de mon thème.

<li class="comment byuser comment-author-admin thread-odd thread-alt depth-1" id="comment-4">
    <div id="div-comment-4" class="comment-body">
        <div class="comment-author vcard">
            <img alt="" src="" class="avatar avatar-32 photo" height="32" width="32">
            <cite class="fn">admin</cite>
            <span class="says">says:</span>
        </div>

        <div class="comment-meta commentmetadata">
            <a href="http://mysite.com/post-name/comment-page-1/#comment-4">November 16, 2014 at 4:54 pm</a>&nbsp;&nbsp;
            <a class="comment-edit-link" href="http://mysite.com/wp-admin/comment.php?action=editcomment&amp;c=4">(Edit)</a>
        </div>

        <p>This is a comment</p>

        <div class="reply">
            <a class="comment-reply-link" href="/post-name/?replytocom=4#respond" onclick="return addComment.moveForm(&quot;div-comment-4&quot;, &quot;4&quot;, &quot;respond&quot;, &quot;19&quot;)">Reply</a>
        </div>
    </div>
</li>

Maintenant, je veux réorganiser le HTML généré. Par exemple –
je veux <div class="comment-meta commentmetadata">aller en dessous de l’ <p>élément.

J’ai vu que la structure est définie dans le dossier comment-template.phpintérieur . wp-includeSi je modifie la structure HTML ici, je peux obtenir mon résultat, mais la mise à jour de WordPress supprimera toute personnalisation si je le fais.

Quelqu’un peut-il m’aider avec une procédure détaillée sur la façon dont je peux accomplir cela dans mon thème? Merci d’avance!

Solution n°1 trouvée

Vous pouvez utiliser l’ callbackargument pour un rendu complètement personnalisé de votre commentaire/trackback

function wpse168639commentCb( $comment, $args, $depth )
{
    // do whatever you want in here:
    // Dump what you got:
    var_dump( $comment, $args, $depth );
}

wp_list_comments( array(
    # other arguments...
    'callback' => 'wpse168639commentCb',
) );
Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *