Come ottenere il link del commento da get_comments() in WordPress?

3 nov 2010, 19:25:21
Visualizzazioni: 2.87K
Voti: 0

Devo aggiornare un codice approssimativo che mostra i 5 commenti più recenti di tutto il blog. Il codice utilizza il metodo get_comments() di WordPress, che non sembra restituire gli ID dei commenti o i link diretti ai commenti (collegamenti diretti ai commenti all'interno dei post tramite l'hashtag).

Come posso raccogliere maggiori informazioni sui singoli commenti e trasformarli in link che puntino ai commenti effettivi all'interno delle loro pagine genitore?

<h3>Commenti Recenti</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; ?> su 
      <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>

Questo codice si trova nella pagina principale del sito, al di fuori del loop.

1
Commenti

Probabilmente dovresti usare get_comment_link()... Vedi la mia risposta a una domanda simile qui.

Giraldi Giraldi
15 gen 2015 22:23:52
Tutte le risposte alla domanda 1
1

Ci sei quasi! Aggiungi #comment-<?php comment_id(); ?> all'href per aggiungere il link di ancoraggio

<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
Commenti

Avevo visto quella funzione ma pensavo (erroneamente) che funzionasse solo all'interno di un vero e proprio loop, e non necessariamente in una chiamata a get_comments(). Grazie per avermelo chiarito!

Sampson Sampson
3 nov 2010 20:55:25