kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

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 und Seminare von kulturbanause

Unsere Berlin-Termine für Ende 2017 sind online!

Jetzt Tickets sichern!

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:

WordPress: Zusätzliche Benutzer-Felder im Backend

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

8 Kommentare

  1. herrfischer

    Verfasst am 4. August 2011 um 14:27 Uhr.

    cooooooooool, danke chef :)

  2. Patrick

    Verfasst am 4. August 2011 um 16:40 Uhr.

    Nettes Snippet, immer wieder erstaunlich was man mit der functions.php alles erreichen kann ;-)

  3. Stephan

    Verfasst am 9. August 2011 um 8:02 Uhr.

    Super …. Danke für das Snippet.

  4. 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.

  5. 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?

  6. 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‘ );

  7. 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!

  8. 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. ;-)

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.