Cómo obtener el enlace de comentarios desde get_comments() en WordPress

3 nov 2010, 19:25:21
Vistas: 2.87K
Votos: 0

Tengo que actualizar un código poco elegante que muestra los 5 comentarios más recientes en todo el blog. El código utiliza el método get_comments() de WordPress, que parece no devolver los ID de comentarios ni los enlaces a los comentarios (enlaces directos a comentarios dentro de las publicaciones mediante el hashtag).

¿Cómo puedo recopilar más información sobre los comentarios específicos y convertirlos en enlaces a los comentarios reales dentro de sus páginas principales?

<h3>Comentarios Recientes</h3>
<ul>
<?php $comments = get_comments(array('status'=>'approve','number'=>'5')); ?>
<?php foreach ($comments as $comment): ?>
  <?php $post = get_post($comment->comment_post_ID, 'OBJECT'); ?>
  <li><?php print $comment->comment_author; ?> en 
      <a href="<?php print get_permalink($post->post_ID); ?>#comment-<?php print $comment->comment_ID; ?>">
        <?php print $post->post_title; ?>
      </a>
  </li>
<?php endforeach; ?>
</ul>

Este código está ubicado en la página principal del sitio, fuera del loop.

1
Comentarios

Probablemente deberías usar get_comment_link()... Mira mi respuesta a una pregunta similar aquí.

Giraldi Giraldi
15 ene 2015 22:23:52
Todas las respuestas a la pregunta 1
1

¡Estás muy cerca! Añade #comment-<?php comment_id(); ?> al href para agregar el enlace de anclaje

<a href="<?php echo get_permalink($comment->comment_post_ID);?>#comment-<?php comment_ID() ?>">
     <?php echo $post->post_title; ?>
</a>
3 nov 2010 19:41:11
Comentarios

Había visto esa función pero pensé (equivocadamente) que solo funcionaría dentro de un bucle real, y no necesariamente en una llamada a get_comments(). ¡Gracias por aclarármelo!

Sampson Sampson
3 nov 2010 20:55:25