WordPress-Benutzerprofil um Google+, Facebook, Twitter und andere Felder erweitern

wordpress-zusatzliche-felder-profil

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.

Trainings für Unternehmen und Privatpersonen

Wir machen dich fit für die Zukunft des Web! In unseren Seminaren und Workshops lernst du wie moderne Websites entstehen.

Infos zu Inhouse-Seminaren
Infos zu öffentlichen Terminen

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 } ?>