2012-11-24 15 views
9

Próbowałem użyć get_avatar do wyświetlania gravatara autora pod każdym postem w szablonie wordpress z zastosowaną klasą, ale nie mogłem znaleźć sposobu na dodanie klasy = "pic-2 "do Gravatar kod obrazka lub nawet zmianę Gravatar heigth i szerokości na 100px i 77px odpowiednioDodawanie klasy do gravatar img w wordpress

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

Wszelkie chłopaki pomóc ??

Odpowiedz

18

Myślę, że najlepszym sposobem radzenia sobie z tym byłoby użycie filtru, zamiast używania jQuery, jak sugeruje George. Po prostu dodajesz to do pliku kompozycji functions.php.

add_filter('get_avatar','add_gravatar_class'); 

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

* Uwaga, nie testowałem tego, ale uważam, że zadziała. Aby uzyskać więcej informacji, patrz this thread.

1

Sprawdź WordPress Codex o więcej informacji:

http://codex.wordpress.org/Using_Gravatars

Dla rozmiaru, spróbuj owijania drugi parametr tak:

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

Domyślne wyjście html jest tak:

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

Możesz ustawić domyślne c lass "awatar" zamiast "pic-2". Jeśli nadal chcesz dodać klasę, możesz to zrobić za pomocą javascript:

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

Mam nadzieję, że to pomoże! :)

+0

Dzięki za ten link! Mam moje do pracy: D http://thelifeleveler.com/the-most-important-first-step-toself-improvement/ –

0

Innym sposobem, aby to zrobić dla przyszłych użytkowników, bardzo proste manipulowanie ciągami, które jest prawdopodobnie nieco bezpieczniejsze, jeśli zmienią funkcję w przyszłości, np. prawdopodobnie zawsze będzie mieć "klasę".

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

Jeśli odpowiedź @Ryan (oznaczony jako roztwór) does'nt praca dla ciebie, spróbuj zmienić

add_filter('get_avatar','add_gravatar_class'); 

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

do

add_filter('get_avatar','add_gravatar_class'); 

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

pracy to uruchomienie dla mnie po zastąpić "z "

Przepraszamy, że nie napisałem tego jako komentarza do tej odpowiedzi, ale nie mam 50 reputacji, aby komentować inne posty.

+0

Dziękuję, w końcu znalazłem rozwiązanie tego :) – Mike

Powiązane problemy