Autoren mit Gravatar identifizieren

Seit der WordPress-Version 2.5 ist es einfacher geworden, das Gravatar der Kommentar-Autoren in die Kommentare einzubinden. WordPress bietet dafür eine Funktion, die einfach nutzbar ist und einige Parameter mitbringt. Zur Verwendung und wie man das ganze einbaut verweise ich auf den Artikel „WordPress 2.5: Gravatare einfach nutzen“, in dem ich Hintergründe und Funktionsweise näher erläutere.

default Gravatar
Seit der WordPress-Version 2.5 ist es einfacher geworden, das Gravatar der Kommentar-Autoren in die Kommentare einzubinden. WordPress bietet dafür eine Funktion, die einfach nutzbar ist und einige Parameter mitbringt. Zur Verwendung und wie man das ganze einbaut verweise ich auf den Artikel „WordPress 2.5: Gravatare einfach nutzen“, in dem ich Hintergründe und Funktionsweise näher erläutere.

Mit dieser Funktion kann man allerdings mehr machen. Magazin-Style für Blogs sind aktuell sehr gefragt und viele Blogs haben eine ganze Reihe von Autoren. Es liegt also nahe, den Autor des jeweiligen Beitrags zu verlinken und vorzustellen. Auch dazu bietet WP eine ganze Reihe an Template Tags, siehe Codex.

Nun wäre es doch schön, wenn man dem Autor zusätzlich ein Gesicht verleiht. Das kann man mit unter anderem mit dem Plugin „Extended User Profile“ machen und die Autorenbeschreibung im Backend von WP aufbereiten.

Frank

Alternativ kann man das Gravatar des Autors laden, so hat er auch einfach die Verwaltung über einen Zugang. Nun funktioniert die Gravatar-Funktion get_avatar() schon wunderbar im Loop von WP und lediglich die E-Mail-Adresse muss der Funktion übergeben werden. Diese kann einfach per Template Tag get_the_author_email() ausgelesen werden.


<?php
$author = get_the_author_email();
echo get_avatar( $author, 80 );
?>

Mit diesem Code entsteht die Ausgabe:


<img alt='' src='http://www.gravatar.com/avatar/md5-Schlüssel_des_gravatar?s=80&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fmd5-Schlüssel_des_gravatar%3Fs%3D80&r=G' class='avatar avatar-80' height='80' width='80' />

Alternativ kann auch direkt die E-Mail geholt werden, also ohne Variable.


<?php echo get_avatar( get_the_author_email(), 80 ); ?>

Die Formatierung erfolgt dann klassisch per CSS; zur Verfügung steht die Klasse avatar, die allerdings auch in den Kommentaren vergeben wird. Gleichzeitig wird aber auf Basis der Größe des Gravatars eine Klasse vergeben - bei dem obigen Syntax wäre dass avatar-80, so dass man über diese Klasse das Bild des Beitragsautors formatieren könnte.

Hinweis: Seite WordPress 2.8 ist die Funktion get_the_author_email() mit get_the_author_meta('email') ersetzt, ihr kann auch eine ID mitgegeben werden, so dass man außerhalb des Loop den Autor ausgeben kann.


global $post;
$author_email = get_the_author_meta( 'email', $post->post_author );
echo get_avatar( $author_email, '60' );

24 Kommentare

  1. Gravatars nutze ich neuerdings, dafür gerne, in meinen Kommentaren. Was mir noch fehlt ist eine Art "Alt-Text", der denjenigen, die nicht wissen, was dieses Bildchen soll - und derer gibt es noch viele - erklären, wo man sich anmelden muss und was es bringt.

  2. Ist auf http://www.apfelquak.de/ auch schon länger so ähnlich im Einsatz. Kam sehr gut an und kann ich nur empfehlen. Allerdings ohne Plugin. Bin mir nicht sicher, ob ich hier den Code in den Kommentar hämmern kann bzw. darf. Bei Bedarf E-Mail an mich. 😉

  3. @ad: aber sicher darf der Code hier rein. Die obige Lösung ist aber auch ohne Plugin, stellt aber auch nur ein Bild zum Autor dar. Für mehr dienen die Template Tags.

  4. @Michael: Ich habe dazu ein Erklärungsfeld unter dem Kommentarfeld. Ansonsten müsste man einen title-Attribut hinzufügen und das geht nur mit einer eigenen Funktion.

  5. @ad: Danke, dazu der Verweis auf den Artikel, in dem ich diese Lösung schon mal erklärt habe. Aber mit 2.5 muss das nicht sein, denn die im Artikel genannte Funktion erfüllt diesen Zweck, ohne Plugin. Die Funktion ist im core von WP 2.5.
    Du könntest quasi auf die Funktion ändern und so ein wenig weniger Code im Template haben. Allerdings verlierst du dann die Klassen.

  6. Ok, dann versuchen wir es mal:

    Für den Default-Gravatar wird vorher noch folgendes definiert:

    <?php $author_gravatar_default = "http://www.apfelquak.de/images/author_gravatar.png"; ?>
    

    Eigentlicher Code:

    
    <?php $gravatar_url = "http://www.gravatar.com/avatar.php?gravatar_id=" . md5(get_the_author_email()) . "&default=" . urlencode($author_gravatar_default) . "&size=48"; ?>
    <img class="entrygravatar" src="<?php echo $gravatar_url ?>" alt="Gravatar of <?php the_author_nickname(); ?>" />
    
  7. @Michael:: Die Gravatar-Funktion bietet ja die Möglichkeit, eine eigenes Default-Bildchen zu definieren, falls der Kommentator nicht bei Gravatar angemeldet ist.
    Ich habe dafür einfach ein kleines Bild mit dem Text "Gravatar?" entworfen und schon wissen die Benutzer zumindest schon, wonach sie googlen müssen, um auch mit Bild erscheinen zu können...

  8. Ich find die Idee auch sehr gut. Bilder bleiben ja meist noch besser in Erinnerung als Namen. Ss ist es schon cool, wenn man das eine oder andere Bildchen bei Surfen mal so wieder entdeckt. Fördert für mich auch eindeutig die Lesebereitschaft der Kommentare. Schöne Grüße. Marvin

  9. Danke für diesen Artikel. Habe noch eine Frage. Kann man irgendwie auch den Gravatar des Autoren ansprechen, so das man diesen auch anders darstellen kann?

    Danke für jede Hilfe.

  10. oh das stimmt frank genau! sorry ich war die ganze zeit auf der suche danach und da habe ich es auch zu spät entdeckt, dass es hier ja steht 🙂 peinlich! habe diverse seiten in google gefunden!

    bin ein bisschen durch den wind, zu viel arbeit 😉

Kommentare sind geschlossen.