Cambiare avatar di default WordPress – 3 Tecniche
Personalizzare i commenti di WordPress ormai è una questione personale. Sempre più blogger decidono di voler personalizzare i commenti sulla base di quelle che sono le proprie esigenze: multilevel comment, commenti nidificati a due livelli, evidenziare l’autore del blog, l’admin, il numero dei commenti e molto altro ancora.
Cosi navigando, visitando blog e inserendo miriadi di commenti mi sono accorto che molti, davvero molti, blogger e webdesigner non tengono molto alla piccola zona del commento che ci permette di identificarci quasi univocamente con una foto: il gravatar.
Un utente che rilascia un commento ha diritto ad un gravatar (sempre se previsto nel design del blog) che è collegato al sito gravatar.com. Questo servizio ti permette di avere una foto in tutti i blog del mondo semplicemente lasciando nel form dei commenti lo stesso indirizzo email indicato nel profilo gravatar.
Se un utente però non è registrato a gravatar.com o peggio ancora digita male il suo indirizzo email WordPress ha nelle sue grazie la possibilità di visualizzare una foto di default o generata (Presente nel menu discussione della palette impostazioni). Nel 99% dei blog ho notato che questa foto di default è l’ormai famoso “Mistery Man” ovvero l’iconcina grigia con la sagoma di un utente.
Personalizzare l’avatar di default
Il gravatar dei commenti, come abbiamo detto, è collegato a un database di gravatar.com da cui la funzione get_avatar() di WordPress ricava l’immagine dell’autore del commento.
La prima cosa di cui hai bisogno è una bella immagine 128×128 neutra, poichè va considerato che possono commentare uomini e donne, da inserire in una cartella a piacere. Io ho scelto la cartella immagini del template. Tu puoi metterla dove vuoi l’importante è che tieni presente l’url del file.
Ecco l’immagine che ho creato:
Prima tecnica per cambiare gli avatar
A questo punto se hai un template bene o male standard dovresti trovare nel file comments.php una funzione simile a questa:
<?php if (function_exists("get_avatar")){ echo get_avatar( $comment, 64 );} ?>
Cosa significa tutto questo geroglifico? Te lo spiego subito. Questo geroglifico (parlo per chi non conosce PHP) non è altro che una riga di codice php che tradotta significa:
Se esiste una funzione di nome get_avatar allora esegui la funzione get_avatar e passagli all'interno i valori accettati dalla funzione che inserisco fra parentesi
I valori che accetta la funzione get_avatar() sono 4 in ordine da sinistra verso destra:
- id o email dell’autore
- dimensione dell’immagine
- url dell’immagine (lasciata vuota visualizza Mistery Man)
- testo alternativo dell’immagine.
Il terzo valore è quello su cui devi intervenire. Dopo aver dichiarato la grandezza per lato dell’immagine (in questo caso 64 pixel, vedi sopra) metti una virgola e fra virgolette inserisci l’indirizzo assoluto dell’immagine.
<? $avatar="http://indirizzo del tema/images/avatar.jpg"; if (function_exists("get_avatar")){ echo get_avatar( $comment, 64, $default=$avatar);} ?>
Seconda Tecnica per cambiare gli avatar WordPress
Il file WordPress che contiene la funzione get_avatar(), ovvero l’incaricata alla visualizzazione degli avatar, è contenuta nel file pluggable.php all’interno della cartella wp-includes.
Cerca la stringa:
$default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"
e sostituisci il valore di $default con l’indirizzo assoluto dell’immagine.
La problematica di questa seconda tecnica è che non facendo parte del template, in caso di perdita di WordPress, attacco o comunque una reinstallazione bisognerà rifare questo passaggio.
Terza ed ultima tecnica
E’ possibile settare un avatar di default che ci piace senza nemmeno modificare una riga di codice nella funzione che hai appena visto, settando dal pannello di controllo dell’admin l’avatar di default come blank.gif.
A questo punto vai a modificare direttamente l’immagine blank.gif e trasformala come vuoi avendo cura di mantenere il nome uguale, altrimenti la funzione non riconoscerebbe l’avatar.
Puoi trovare l’immagine blank.gif nella cartella images presente in wp-includes.
Che te ne pare? Vuoi vedere un esempio funzonante di avatar cambiati?
Guardati i commenti in questo tutorial photoshop.
Aspetto un tuo commento! 😉
ALESSANDRO ha detto:
c’è anche la possibilità di inserire all’interno del file function.php questa stringa
add_filter( ‘avatar_defaults’, ‘newgravatar’ );
function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo(‘template_directory’) . ‘/images/gravatar.jpg’;
$avatar_defaults[$myavatar] = “Build Internet”;
return $avatar_defaults;
}
è la tecnica che più mi piace, bravo Andrea, molto utile questo articolo!
Andrea Leti ha detto:
Questa possibilità non la conoscevo!
Grazie Alex! Hai arricchito ulteriormente l’articolo. Sei sempre un grande.
Giovanni ha detto:
Hmmm ho provato ma non funziona, che filtro è avatar_defaults?
Andrea Leti ha detto:
Dammi qualche indicazione in più…
Rocco Passaro ha detto:
Bel tips 😀
L@ux ha detto:
Interessantissimo, mi serviva proprio.
I tuoi articoli stanno diventando ancora più interessanti, complimenti.
Andrea Leti ha detto:
Ti ringrazio L@ux! Sei troppo gentile!
sergio ha detto:
GRANDE!
Filippo ha detto:
ottimo sito…..
Andrea Leti ha detto:
Ciao Filippo!
Ti ringrazio!
I Love BoBBa ha detto:
Ho utilizzato il metodo un po’ “noob” del sostituire il file blank.gif! Grazie per il tutorial.
tucoweb ha detto:
Grazie Andrea, come sempre i tuoi consigli sono stupendi!
antonella ha detto:
e si hanno più autori per sito?
Andrea Leti ha detto:
Non ho capito la domanda…
Federico ha detto:
Ciao dalla 3.5 la struttura per il caricamento dei gravatar è radicalmente cambiata e inserendo un qualsiasi codice di quelli proposti da voi viene aggiunta la stringa alla fine dell’url di gravatar.com
Remy ha detto:
Dalla versione 3.5.1 sono stati modificati gli avatar e questi metodi ora sembrano un pò obsoleti e macchinosi al confronto del plug-in “add-new-default-avatar.1.3.1” che risolve alla grande questo problema. E’ interessante vedere come WORDPRESS progredisca proprio grazie a persone come voi che prima suggeriscono la modifica al codice e poi col tempo subentra un plug-in che fa la stessa cosa.
Mi sto innamorando di questo wordpress, sarà pericoloso?
Grazie a tutti. remi
Emilie Rollandin ha detto:
Come fate voi ad avere l’immagine qua nel commento che scrivete?
música nueva ha detto:
perfetto, grazie!
Anto ha detto:
Ciao, grazie per la guida ma se io volessi aggiungere più immagini e far si che ognuna di queste si associ in modo casuale all’utente che non possiede un gravatar come potrei fare? Grazie
Criss ha detto:
Io preferisco evitare plugin per cose piccole come questa, però nel mio caso il comment.php del tema non contiene la funzione di cui parli nel post. Invece mi trovo una riga che recita così: $contributor_list .= sprintf( ”, esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
all’interno del framework Redux. Come posso cambiare l’url del gravatar nel mio caso?
Paola ha detto:
Scusami, so che non c’entra con questo articolo, ma forse mi puoi aiutare…. io vorrei rimuovere la mia foto dal gravatar, ma non ci riesco… se entro nel profilo wordpress la foto non me la mostra nelle info profilo (ma esce in alto a dx sulla barra), se clicco dove dovrebbe essere per modificarla mi chiede di riloggarmi e poi mi rimanda allo stesso profilo… suggerimenti?
Grazie