WordPress-Benutzerprofil um Google+, Facebook, Twitter und andere Felder erweitern
Die WordPress-Benutzerprofile bieten die Möglichkeit verschiedene Meta-Informationen zu einem Benutzer anzugeben und anschließend mittels Template-Tag im Theme darzustellen. Allerdings sind insbesondere die Angaben der Social Media/IM-Dienste völlig veraltet: Jabber, AIM und Yahoo IM brauche ich nun wirklich nicht mehr. Dafür fehlen aktuelle Eingabefelder für Google+, Facebook und Twitter.
Mit ein paar Zeilen Code könnt ihr euer Profil um die fehlenden Angaben ergänzen und die überflüssigen Eingabefelder entfernen.
Responsive Webdesign!
Mein neues Video-Training mit über 8 Stunden Laufzeit! Programmierung, Konzeption, Gestaltung – Webdesign für alle Geräte und Auflösungen.
Jetzt bei Amazon bestellen!functions.php anpassen
Der folgende Code muss in die functions.php kopiert werden. Ich habe die Bereiche entsprechend kommentiert.
// Zusätzliche Felder im Benutzerprofil
function contactInfo($user_contactmethods) {
// Google+, Facebook, Twitter hinzufügen
$user_contactmethods['googleplus'] = 'GooglePlus';
$user_contactmethods['facebook'] = 'Facebook';
$user_contactmethods['twitter'] = 'Twitter';
// Yahoo, Jabber, AOL entfernen
unset($user_contactmethods['yim']);
unset($user_contactmethods['jabber']);
unset($user_contactmethods['aim']);
return $user_contactmethods;
}
add_filter('user_contactmethods','contactInfo');
Innerhalb von WordPress sieht das Benutzerprofil dann in etwa so aus:

Werte im Theme ausgeben
Um die Werte im Theme auszugeben verwendet ihr folgenden Code. Das Beispiel zeigt die allgemeine Ausgabe des Google+-Profils.
<?php the_author_meta('googleplus');?>
Wenn ihr mit mehrere Autoren an einer Seite arbeitet kann es vorkommen, dass nicht alle Benutzer alle Profile angeben können oder wollen. Um den entsprechenden Wert nur dann auszugeben, wenn das Feld im Backend auch ausgefüllt wurde reicht folgender Code. Das Beispiel zeigt ebenfalls die Ausgabe von Google+.
<?php if( get_the_author_meta('googleplus') ) { ?>
<a href="<?php the_author_meta('googleplus');?>">Google+</a>
<?php } ?>