Visualizza i Commenti per un determinato Articolo

Questo snippet prende spunto da questa discussione nel Forum. Solitamente WordPress visualizza l'elenco dei commenti solo se viene richiamata la pagina del singolo Articolo, quindi questo codice ti può servire quando in pagine come gli Archivi, le Categorie o la Home, vuoi mostrare per uno o più articoli, i relativi commenti.

Per fare questo si può clonare la funzione comments_template() definita in wp-includes/comment-functions.php semplificandola:

(da testare)

 <?php
 function CLS_get_comments($post_ID) {
 global $wpdb;
 $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments
 		WHERE comment_post_ID = '$post_ID'
 		AND comment_approved = '1' ORDER BY comment_date");
 if ($comments) : ?>
	<ol class="commentlist">
	<?php foreach ($comments as $comment) : ?>
		<li id="comment-<?php echo $comment->comment_ID; ?>">
			<cite><?php echo $comment->comment_author; ?></cite>
			<br />
			<?php echo $comment->comment_content; ?>
		</li>
	<?php endforeach;?>
	</ol>
 <?php endif; ?>
 <?php } ?>

La funzione va inserita nella pagina (volendo può essere trasformata in Plugin), prima del Loop, mentre va invocata all'interno del Loop così:

 <?php CLS_get_comments($post->ID); ?>

To Do

Questo snippet ha alcune limitazioni. Chiunque può migliorarlo, anche sfruttando funzioni di sistema di WordPress, per aggiungere queste funzionalità:

  1. trovare il modo di formattare la data in italiano
  2. visualizzare gli eventuali smilies presenti nei commenti convertendo i segni :-) in faccine
  3. se l'autore del commento ha inserito l'URL al suo sito, il nome deve essere cliccabile
  4. formattazione del testo: p. es. tag <p> all'inizio e alla fine del testo, conversione degli URL...

Ultima modifica il 10/04/2007 ore 07:51