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.
Workshops & Schulungen von kulturbanause
Intensive Trainings mit hohem Praxisbezug.
functions.php anpassen
Der folgende Code muss in die functions.php
oder besser in ein seitenspezifisches Plugin 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 } ?>
Jetzt bist du gefragt!
Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.
Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!
Unterstützung bei WordPress-Projekten
Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →
Das könnte dich auch interessieren
10 Kommentare
Kommentar verfassen
herrfischer
Verfasst am 4. August 2011 um 14:27 Uhr.
cooooooooool, danke chef :)
Patrick
Verfasst am 4. August 2011 um 16:40 Uhr.
Nettes Snippet, immer wieder erstaunlich was man mit der functions.php alles erreichen kann ;-)
Stephan
Verfasst am 9. August 2011 um 8:02 Uhr.
Super …. Danke für das Snippet.
Hansen
Verfasst am 28. Oktober 2011 um 14:38 Uhr.
Tolles Blog. Man ist doch immer wieder sehr dankbar das es Menschen gibt solch praktischen Dinge kostenlos veröffentlichen.
Vielen Dank.
Christoph
Verfasst am 14. November 2011 um 17:21 Uhr.
Leider bringt mir WordPress beim Einbinden des Codes den Fehler:
Call to undefined function add_filter()
Eine Idee?
Christoph
Verfasst am 14. November 2011 um 17:24 Uhr.
Gelöst!
in der wp-settings.php die Reihenfolge von
// Load early WordPress files.
require( ABSPATH . WPINC . ‚/compat.php‘ );
require( ABSPATH . WPINC . ‚/functions.php‘ );
require( ABSPATH . WPINC . ‚/class-wp.php‘ );
require( ABSPATH . WPINC . ‚/class-wp-error.php‘ );
require( ABSPATH . WPINC . ‚/plugin.php‘ );
ändern in:
// Load early WordPress files.
require( ABSPATH . WPINC . ‚/compat.php‘ );
require( ABSPATH . WPINC . ‚/plugin.php‘ );
require( ABSPATH . WPINC . ‚/functions.php‘ );
require( ABSPATH . WPINC . ‚/class-wp.php‘ );
require( ABSPATH . WPINC . ‚/class-wp-error.php‘ );
Nico
Verfasst am 22. März 2013 um 21:07 Uhr.
Bombe! Genau danach hab ich gerade gesucht und deine perfekte Lösung gefunden. 1000 Dank!
Markus
Verfasst am 21. September 2014 um 23:59 Uhr.
Ich nutze zusätzliche Kontaktfelder in eingen Projekten, die Möglichkeit zum Entfernen ungenutzer Felder war mir allerdings neu. :-/
Anyway, ich nutze für eine Kontakt- und Geburtstagsliste in einem Projekt auch ein Feld „birthday“. Kann man den Typ des Feldes irgendwie auf Datum festlegen und möglicherweise sogar einen Auswahlkalender im Benutzerprofil einblenden? Denn Daten als Text machen beim Sortieren wenig Sinn. ;-)