2012-11-24 10 views
9

Ho cercato di utilizzare get_avatar per visualizzare il gravatar dell'autore sotto ogni post nel modello wordpress con classe applicata ma non ho trovato un modo per aggiungere class = "pic-2 "per gravatar codice di immagine o anche cambiando altezza gravatar e la larghezza di 100px e 77px rispettivamenteAggiunta classe a gravatar img in wordpress

<?php echo get_avatar(get_the_author_meta('ID'), 32); ?> 

Qualsiasi aiuto ragazzi ??

risposta

18

Penso che il modo migliore per gestire questo sarebbe utilizzare un filtro, piuttosto che usare jQuery come suggerisce George. Dovresti semplicemente aggiungere questo al file functions.php del tuo tema.

add_filter('get_avatar','add_gravatar_class'); 

function add_gravatar_class($class) { 
    $class = str_replace("class='avatar", "class='avatar pic-2", $class); 
    return $class; 
} 

* Nota, non ho provato questo, ma credo che funzionerà. Vedi this thread per maggiori informazioni.

1

Scopri i WordPress Codex per maggiori informazioni:

http://codex.wordpress.org/Using_Gravatars

Per le dimensioni, provare avvolgendo il secondo parametro in questo modo: l'output HTML

<?php echo get_avatar(get_the_author_meta('ID'), $size = '96'); ?> 

Il valore predefinito è in questo modo:

<img alt='' src='http://gravatarurl_or_default' class='avatar avatar-$size' height='$size' width='$size' /> 

È possibile definire l'impostazione predefinita c lass 'avatar' al posto di 'pic-2'. Se si vuole ancora aggiungere una classe, è possibile farlo tramite javascript in questo modo:

$("img[class='avatar']").addClass("pic-2"); 

Spero che questo aiuti! :)

+0

Grazie per il collegamento! Ho il mio a lavorare: D http://thelifeleveler.com/the-most-important-first-step-to-self-improvement/ –

0

Un altro modo per farlo per i futuri utenti, una manipolazione delle stringhe molto semplice che è probabilmente un po 'più sicura se cambiano la funzione in futuro, ad es. probabilmente avrà sempre una "classe".

$grvimg = get_avatar('email address', 200); 
    $grvimg = explode("class='", $grvimg); 
    $grvimg[1] = 'your-class ' . $grvimg[1]; 
    $grvimg = $grvimg[0] . $grvimg[1]; 
    echo $grvimg; 
1

Se la risposta @ Ryan (contrassegnata come soluzione) lavoro does'nt per voi, provate a cambiare

add_filter('get_avatar','add_gravatar_class'); 

function add_gravatar_class($class) { 
    $class = str_replace("class='avatar", "class='avatar pic-2", $class); 
    return $class; 
} 

in

add_filter('get_avatar','add_gravatar_class'); 

function add_gravatar_class($class) { 
    $class = str_replace('class="avatar', 'class="avatar pic-2', $class); 
    return $class; 
} 

lavoro di questo inizio per me dopo sostituire "con '

Spiacente di non averlo scritto come commento a quella risposta, ma non ho 50 reputazione per commentare altri post.

+0

Grazie, finalmente trovato una soluzione a questo :) – Mike

Problemi correlati