Numerar comentarios en WordPress

Autor: Armonth | El sábado 28 de julio del 2007 @ 03:24.

Me acaban de pedir cómo numerar comentarios y recordando que en SigT antes mostraba el número de comentario en cada discusión he pensando que no sería mala idea "rescatar" el código ya que sólo comente cómo separar comentarios y trackbacks.

La idea es muy básica: un simple contador. Todo lo que hay que modificar (salvo aspecto que obviamente va al CSS) está en el fichero comments.php y nos basaremos en el código publicado anterioremente. Si queremos que nos cuente por separado los comentarios y las referencias sólamente habrá que repetir el contador en la parte de mostrar trackbacks.

En la parte que hace referencia a los comentarios, vamos a modificar la siguiente línea:

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

Por:

<?php $contador = 1; foreach ($comments as $comment) {

Luego si el comentario ha sido aprobado sólo tenemos que mostrarlo y sumar +1 para el próximo comentario. Por ejemplo encima de:

<?php comment_text() ?>

Pondremos:

<?php if ($comment->comment_approved == '1'): ?>
  <div class="contador">#<?php echo $contador; $contador++; ?></div>
<?php endif; ?>

La clave está en que para evitar desorden sólo debe enumerarlos si han sido aprobados. El problema de esto es a la hora de referenciarlos si por ejemplo nos hacemos eco del comentario número 4 y antes de ése hay un comentario no aprobado éste pasará a ser el número 4.

Podemos repetir sin problemas el mismo código para los trackbacks (si los tenemos separados). Y con un poco de maña y AJAX incluso se podría hacer un sistema de citaciones estilo menéame (reconozco que me gusta :-P).

Comentarios