the_author_meta: Profil Angaben erweitern
Mit WordPress eigenen Funktionen Profile erstellen
Betreiber von Blogs die mehre Autoren beherbergen, werden oftmals nach Plugins suchen die es ermöglicht, weitere Profil Felder für die Benutzerangaben hinzuzufügen.
WordPress bietet von Haus aus ja eine minimale Handvoll vordefinierter Profil Eingabe Felder, aber wer nutzt in Deutschland groß “AIM”. “Jabba” geschweige den “YAHOO! Messenger (YIM)”? Wahrscheinlich die wenigsten.
Intressanter wären Profilfelder wie “Geburtsort, Geburtstag uvw.” die aber nicht im Standart von WordPress Definiert sind.
Wie bereits angesprochen, eine möglichkeit ist es natürlich, ein Plugin dafür zu suchen und es in seinen Blog zu Installieren, eine andere möglichkeit wäre es, die Profil Felder über das Theme in WordPress einzufügen.
Letztere möglichkeit, Profil Felder durch die “functions.php” eures Themes in WordPress zu intregrieren, möchte ich euch hier vorstellen.
Wollen wir erst einmal mit der Grundfunktion beginnen.
WordPress bietet die möglichkeit die hinterlegten Profildaten auf einer Autoren Seite wiederzugeben, dazu dient der Template Tag the_author_meta().
<p><?php the_author_meta('display_name'); ?> hat sich am
<?php the_author_meta('user_registered'); ?> Regestriert.</p>
WordPress gibt dann folgendes aus:
Fabian hat sich am 2007-11-05 00:51:55 Regestriert.
Wollen wir nun also unsere Profilangaben ändern bzw. erweitern müssen wir WordPress dies mitteilen, ich zeige euch anhand eines kleinesn beispiels wie ihr WordPress um die Drei Felder “MSN, ICQ und Twitter” erweitern könnt und die Profilfelder “AIM, Jabber und YIM” entfernt.
/*
Custom Contact Fields
*/
function contactfields($contactmethods) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter <span class="description">(username)</span>';
//add ICQ
$contactmethods['icq'] = 'ICQ <span class="description">(UIN)</span>';
// Add WLM
$contactmethods['msn'] = 'WLM <span class="description">(Windows Live Messenger)</span>';
// Remove unwanted contacts
unset($contactmethods['aim']);
unset($contactmethods['yim']);
unset($contactmethods['jabber']);
return $contactmethods;
}
add_filter('user_contactmethods','contactfields',10,1);
Wie ihr seht, ist garnicht soviel Code nötigt um WordPress um die gewünschten Profilfelder zu erweitern.
$contactmethods['twitter'] teil WordPress mit, das ein neues Profilfeld eingebunden werden muss das den Wert “twitter” trägt. Die angaben hinter dem = (gleich zeichen) werden im WordPress Backend als User Information angeben, damit der Auszufüllende weiß, was er ausfüllt.
Mit unset($contactmethods['aim']); teilen wir WordPress mit, das das Feld “AIM” nicht mehr benötigt wird und entfernt werden soll aus dem Backend.
Nun könnt ihr mit the_author_meta(); auch eure neuen Profilfelder ausgeben. dazu müsst ihr nur den vorgeben Wert in the_author_meta(); angeben.
Um aus unseren Beispiel nun das Feld Twitter in euren Template nutzen zu können, müsst ihr also nur the_author_meta('twitter'); nutzen.
So habt ihr die möglichkeit eure inviduellen Autoren Seiten zu erstellen oder zusätzliche Informationen an Beitrags Enden auszugeben.
Geschrieben am 16.05 10 von Fabian
Abgelegt in der Kategorie: Template Tag.
Schlagwörter: Erweitern, functions.php, Plugin, Profil, Themes, the_author_meta Personalisieren, WordPress


Hi Fabian,
danke für den Artikel. Zwei Fragen:
a) Wie kann man im Beispiel oben user_registered(), das Datum formatieren?
b) Bei mir ergibt the_user_meta(‘twitter’) in 3.01 eine leere Ausgabe?
Viele Grüße
Daniel
Hallo Daniel,
ähm zu Frage A muss ich ehrlich gesagt passen, werd aber nach einer Lösung suchen und nachtragen.
Zu B.
Hast du WordPress mitgeteilt, das es dieses Feld gibt? Schau dier hierzu mal des 2 Code beispiel an.
Hi Fabian,
danke für die Antwort.
Das mit dem Datum wäre toll. Werde auch mal schauen.
Zu B)
Im Administrationsbereich funktioniert alles wunderbar. Auch die Ausgabe der Website und Beschreibung. Siehe beispielsweise hier:
http://www.celtic-rock.de/archives/7370
Nur die neu definierten Felder Twitter, Facebook, Youtube und myspace werden nicht angezeigt. Auch kein Fehler oder ähnliches. Einfach leer.
Viele Grüße
Daniel
Hallo Daniel,
habe mir mal die Profilfelder hier auf fkBlog.de erstellt. (siehe im Tabreiter Autor unter den Artikel).
Damit die Profilfelder Ausgegeben werden, müssen diese im WordPress Loop stehen.
Wie du hier siehst, funktioniert das ganze spiel. Für das Formatieren des Regestrierungsdatum werde ich mir im laufe des Tages noch was überlegen, sofern ich die Zeit dafür finde.
Nachtrag
Da die Beispielcodes für mein Kommentar Feld zulang sind, habe ich die Codes mal in meinem Beispiel Bereich veröffentlicht, es sind die gleichen wie ich sie hier auf fkBlog.de Verwende.
the_author_meta: Profil Angaben erweitern »Beispiel«
Hallo.
ist es auch möglich Felder im Bereich “Über Mich” hinzuzufügen?
Grüße,
Sebastian
Hallo Sebastian,
ja es ist möglich das “Über Mich” Feld zu nutzen, dazu liefert WordPress einen eigenen Template Tag aus, dieser lautet:
the_author_description();
und muss an gewünschter stelle im Template einfach hinzugefügt werden.
Super, danke! Genau sowas hab ich gesucht, um WordPress etwas aufzubohren und Autoreninfos anzulegen, die wirklich Sinn machen. Da ich aber nur wenig Muße habe, manuell an Datenbank und sämtlichen Template-Dateien rumzufingern, war das der letzte Mosaikstein :)
Pingback: fk:Blog - Fabians Weblog