web-dev-qa-db-fra.com

Rétroliens/pings séparés et commentaires numérotés

J'ai cherché sur Google des tutoriels expliquant comment a) numéroter les commentaires dans la liste de commentaires et b) séparer les rétroliens/pings du reste de vos commentaires.

Tous les tutoriels semblent être obsolètes?! Ils vous suggèrent tous de rechercher dans votre fichier comment.php quelque chose que je n'ai vu dans aucun nouveau thème récemment, à savoir:

<?php if ( $comments ) : ?>

ou

<?php foreach ($comments as $comment) : ?>

Je ne semble pas avoir quelque chose comme ça dans mon commentaire.php. J'ai également vérifié comment.template et comment.php dans le dossier wp-includes, mais je n'ai rien trouvé. Aussi pas de chance en regardant à travers le function.php.

Voici l'extrait lié à un commentaire de mon function.php:

function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class('clearfix'); ?> id="li-comment-<?php comment_ID() ?>">
 <?php echo get_avatar($comment,$size='63'); ?>
 <div id="comment-<?php comment_ID(); ?>">
  <div class="comment-meta commentmetadata clearfix">
    <?php printf(__('<strong>%s</strong>'), get_comment_author_link()) ?><?php edit_comment_link(__('<img src="http://www.zoomingjapan.com/wp-content/themes/alltuts/images/edit.gif">'),'  ','') ?> <span><?php printf(__('%1$s @ %2$s'), get_comment_date('Y/n/j'),  get_comment_time('G:i')) ?>
  </span>
 <div class="text">
      <?php comment_text() ?>
  </div>
  </div>
  <?php if ($comment->comment_approved == '0') : ?>
     <em><?php _e('Your comment is awaiting moderation.') ?></em>
     <br />
  <?php endif; ?>

  <div class="reply">
     <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
  </div>
 </div>

Et voici mon commentaire.php: Pastebin

J'apprécierais vraiment votre conseil. Merci beaucoup.

1
japanworm

Pour la numérotation, dans votre commentaire.php, changez ceci:

wp_list_comments('callback=mytheme_comment');

Pour ça:

wp_list_comments(array(
  'callback'=>'mytheme_comment',
  'style'=>'ol',
));

Pour séparer les commentaires et les pingbacks, vous feriez quelque chose comme ceci:

wp_list_comments(array(
  'callback'=>'mytheme_comment',
  'style'=>'ol',
  'type'=>'comment',
));

wp_list_comments(array(
  'callback'=>'mytheme_comment',
  'style'=>'ol',
  'type'=>'pings',
));
3
Otto