Tempo di Lettura: 3 minuti
L’altro giorno ho fatto una piccola modifica al mio blog in modo da renderlo più efficiente: ho installato un plugin che dividesse in pagine i commenti e ho modificato il foglio di stile in modo da evidenziare con un solo colpo d’occhio il commento dell’autore del blog (ovvero me) da quelli di tutti gli altri.
Questa esigenza è nata dal fatto che alcuni miei articoli hanno centinaia di commenti (come Xbox 360 vs PlayStation 3 con 555 commenti e 999 inviti Joost tutti per voi con 166) che inficiavano notevolmente le prestazioni del sito durante il caricamento della pagina. Inoltre, tra tutti questi articoli, era necessario effettuare un highlight dei commenti dell’autore, in modo da evidenziare, tra le centinaia di commenti, le mie risposte.
Il primo passo è stato quello di installare la versione 2.6.2 del plugin per WordPress Paged Comments. Il suo funzionamento è veramente semplice, quello che forse è più complicato è la procedura per adattare il plugin al template del proprio sito.
- Una volta scaricato ed estratto in una directory, occorre copiare il file paged-comments-config-sample.php in paged-comments-config.php e modificare quest’ultimo in base alle proprie esigenze
- Fare l’upload della directory “paged-comments” nella sezione del blog /wp-content/plugins/
- Dall’area di amministrazione del proprio blog WordPress attivare il plugin. Da questo momento in poi ogni articolo che supererà i 10 commenti (valore di default che si può personalizzare dal file paged-comments-config.php), inizierà a mostrarli impaginati. Il problema, però, è che il plugin elimina la formattazione adottata nel template del proprio sito proponendo una lista dei commenti pura e semplice senza colori, dimensioni e icone.
Per personalizzare il template dei commenti e riportarlo a quello originario occorre invece seguire una procedura leggermente più complessa.
L’autore del plugin ha già inserito nel file zip che scaricherete quattro template prelevati dai temi più famosi come k2, default, classic e pool.
Questi template sono costituiti da un foglio di stile css e un file comments-paged.php (che altro non è che il file comments.php dei temi sopra elencati, modificato però per rendere funzionante il plugin) da copiare nella cartella: [wordpress]/wp-content/themes/[miotema]/
Infatti, questo plugin, se attivo, cerca e richiama, nella cartella del tema in uso, il file personalizzato comments-paged.php al posto del classico comments.php. Questo metodo, permette, di customizzare la pagina dei commenti senza mai toccare il file originale del tema: in tal modo, quando si vorrà disattivare il plugin, non si andrà incontro ad errori in quanto il file comments.php non è stato mai modificato!
Ma, ovviamente, la maggior parte di voi avrà tutt’altro tema, per cui sarà necessario procedere alla personalizzazione manuale del template! Per farlo sarà sufficiente copiare il file [wordpress]/wp-content/themes/[miotema]/comments.php
in [wordpress]/wp-content/themes/[miotema]/comments-paged.php.
Quindi aggiungere le modifiche mostrate in questo file diff. A questo punto ci troveremo il nostro file dei commenti modificato in maniera tale da impaginarli correttamente.
Personalmente ho anche modificato il numero del commento in modo da variarne il font e le dimensioni, personalizzando il css relativo alla classe del div comment-number:
Per evidenziare, invece, il commento dell’autore del blog ho preferito semplicemente cambiare il colore di sfondo dell’area del suo commento. Di default, la porzione di codice che apre il div di un commento (presente nel file comments.php e anche nel nuovo file paged-comments.php) è la seguente:
.class-comment1 {
margin:15px 10px;
border:1px solid #6BA4DC;
}
.class-comment2 {
margin:15px 10px;
border:1px solid #ddd;
}
.class-comment-author {
margin:15px 10px;
border:1px solid #ddd;
background-color:#FFFFCC;
}
Avrei potuto anche ricavarmi la mail dell’amministratore facendo una query sul db di WordPress in modo da rendere il codice universale e non dover, ogniqualvolta cambio email, modificare template. Ma, siccome non prevedo modifiche frequenti della mia email, ho pensato che era meglio non appesantire inutilmente di un’altra query il codice del sito.
Fate attenzione a quale file modificate per aggiungere l’highlight dell’autore: se modificate solo il file paged-comments.php, quando disattiverete il plugin “Paged Comments”, l’autore del blog non verrà più evidenziato in alcun modo nei commenti. Sarà quindi bene modificare anche il file comments.php. Nel caso, invece, di template che usano l’inserimento dei commenti in Ajax, come nel caso del mio Unnamed One 1.0, è possibile constatare che, se l’autore invia un commento, in anteprima non viene visualizza il colore di sfondo giusto fino a quando non si effettua un refresh della pagina. Questo perché nel primo caso viene richiamato il file comments-ajax.php mentre nel secondo il classico comments.php. Il problema non è molto grave, anche perché verrebbe solo notato dall’autore che scrive, ma se volete allineare la situazione dovete aggiungere il codice dell’highlight dell’autore anche nel file comments-ajax.php.
Io avevo già dato in proposito: i commenti non sono divisi per pagina, ma tutto il resto dovrebbe esserci (senza ricorrere a plugin) 😉
Ma per l’highlight dei commenti dell’autore non ho usato alcun plugin ma ho solo modificato il file dei commenti con una procedura simile alla tua (nel mio caso comments-paged.php ma la stessa cosa vale per quello di default paged-comments.php) e aggiunto qualche riga di CSS 😛
Ciao, puoi darmi una mano per favore? La riga nella quale dovrei inserire
” class=”comment_author_email == “administrator@mioblog.com”) echo ‘class-comment-author’; else echo $bg_comment; ?>”>
é molto diversa da quella che hai postato, in particolare:
” id=”comment-“>
ho provato ad incollarlo inserirlo in ogni modo, sostituendolo del tutto o a parti di quello originale, ma senza successo, a volte ottengo errori, a volte sembra andare tutto bene ma le caselle dei commenti non risultano formattate (pur avendo inserito nel foglio di stile le classi che hai suggerito… Purtroppo non sono per niente esperto di php e css, è il mio primo sito e sono in grande difficoltà. Potresti darmi una mano a capire come fare questo inserimento per favore? Ti ringrazio in ogni caso, ciao e complimenti per il sito.
grazie della dritta…mi è stata utile!
Pingback: Come colorare i commenti degli autori in Wordpress. - …time is what you make of it… 7 Febbraio 2008
[…] fa Antonio aveva realizzato la stessa cosa, con un codice un pizzico […]