Evidenziare i commenti scritti dagli autori del post con poche righe di codice in WordPress

comment highlighted

Vi piacerebbe avere una soluzione simile a quella in foto?? Magari senza modificare nessuna parte dell’html della grafica del proprio blog [tag]WordPress[/tag] ma soltanto aggiungendo poche righe di codice al proprio file e copiando la classe del foglio di stile per farne una seconda con colori cambiati? Bene seguite questa mini guida sperando sia di facile comprensione.

Prima di tutto aprite il file comments.php, se non avete questo file cercate un po nel vostro template il loop dei commenti che dovrebbe avere il codice seguente:

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

Bene una volta trovato il loop che altro non che un ciclo foreach che stampa tutti i commenti di un articolo dovrete inserire subito sopra di questa riga o comunque prima e fuori da questo ciclo il codice:

<?php $authordata = get_userdata($post->post_author); ?>

Questo codice prender le credenziali dell’autore del post, in questo modo con l’ultimo spezzone di codice che inseriremo potremo capire quando il momento di differenziare lo stile del commento.

Ora all’interno del loop (il foreach di prima) aggiungete subito sotto il seguente codice:

<?php
$authcomment=false;
if ($comment->comment_author_email == $authordata->user_email) $authcomment=true;
?>

Ora non vi rester altro da fare che modificare la classe usata per il commento, a seconda dello stile che vorrete usare, sempre nel nostro loop. Mi rifar alla template di default e ai suoi codici usati, credo che dovreste riuscire ad applicare il codice su qualsiasi altra template facilmente.

Sostituite la riga:
<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">

Con la seguente:
<li class="<?php echo $oddcomment; if ($authcomment) echo '-highlighted'; ?>" id="comment-<?php comment_ID() ?>">

In pratica quanto authcomment true uscir la classe “-highlighted” oppure “alt-highlighted” a seconda che sar pari o dispari il commento.

Kubrick, il tema di default, alterna le classi dei commenti quindi dovrete creare due nuove classi nel foglio di stile (style.css), nel commento pari non definita alcuna classe quindi non si potr copiare quella esistente ma si dovr creare una nuova, mentre per quella dispari “alt” basta copiare la classe .alt esistente e modificare il colore di sfondo e impostare altre propriet, ma io non sono un grafico quindi mi limito solo a cambiare i colori di sfondo:

.highlighted {
background-color: #XXXXXX;
}

.alt-highlighted {
background-color: #XXXXXX;
}

Dove al posto delle sei X andranno i codici esadecimali del colore da voi scelto (appunto sei caratteri).

Migliore, suggerimenti e codici per altri tipi di stile potete postarli nei commenti, critiche incluse GRAZIE :d

14 pensieri su “Evidenziare i commenti scritti dagli autori del post con poche righe di codice in WordPress”

  1. e se volessi implementarla in questo modo?: a mio piacere visualizzare in modo diverso solo alcuni commenti, non importa che siano dell’admin, del user iscritto o dell’user di passaggio, quindi un qualsiasi tipologia di commento, magari inserendo l’id, pensi sia fattibile?

    1. Certo che è fattibile, devi soltanto pensare l’algoritmo di differenziazione.. potresti fare una scelta random oppure evidenziare in determinati intervalli e agire di conseguenza sulla classe che alterna lo stile.

      Inserendo l’id, o magari una checkbox la vedo difficile ma non sicuramente impossibile.. io lo vedrei solo come un inutile spreco di risorse.

      Altro metodo che mi viene in mente sarebbe quello di inserire un carattere o una stringa di controllo ad inizio post ed effettuare un matching che in caso di rilevamento della stringa agisca di conseguenza modificando la classe e cancellando il carattere di controllo.

      Questi sono solo i primi metodi che mi balzano mentre scrivo..

  2. Pingback: Alex2000 » Piccoli ritocchi stilistici

  3. Spettacolo.. non sembra complicatissimo!
    Tra l’altro mi sembra ci sia un plug in che fa questo.. sono curioso di trovarlo per vedere le differenze 🙂

  4. L’effetto bello, peccato che non si possa fare la modifica sui blog di WordPress.com, tuttavia ho visto che alcuni temi come Freshy questa cosa ce l’hanno predefinita 😉

  5. @Danilo
    Avvisami quando completi il tutto, sono curioso di vedere gli stili scelti 😉

    @Phoenix
    No, purtroppo non vale per wordpress.com ma solo su hosting proprio o in generale su servizi che ti permettono di modificare i file del template. Per credo che qualche template debba gia avere una soluzione del genere implementata…o almeno spero.

    @Ale
    Ti dir io invece ho avuto la fortuna di trovare gi nel foglio di stile la classe Highlighted (il tema derivato da Regulus) e quindi mi sono risparmiato la parte del foglio di stile che non avrei saputo fare 😀

    @Flashmotus
    Allora diciamo che so insegnare come aggiungere una riga di codice alla template ma non so programmare molto bene 😀 Soprattutto in grafica sono totalmente negato, sto da un mese cercando di creare una bozza completa e funzionante di questo tema a 3 colonne senza stravolgere l’attuale lavoro senza riuscirci con risultati soddisfacenti (eh si sono un po pignolo su questo 😛 )
    Grazie

  6. complimenti traffik, ottima guida, si pu essere bravi grafici o programmatori ma per insegnare con semplicit occorrono particolari doti che tu di sicuro possiedi. 😉

  7. Con questa modifica del tema sono arrivato alla revision numero 38 😀 ehehe che dite allora vi piace?? Ho fatto un post di prova 😛

I commenti sono chiusi.