WordPress Benutzerprofil: Benutzerdefinierte Felder ohne Plugin hinzufügen.

Benutzerdefinierte Felder für weitere Informationen zu den Benutzerprofilen in WordPress hinzufügen? Ohne Plugin! Es gibt 2 Möglichkeiten. Einerseits weitere Felder im Bereich Kontaktangaben hinzufügen oder andererseits einen kompletten Bereich, beispielsweise Weitere Informationen genannt, selbst erstellen.

Möglichkeit 1: weitere Felder zum Bereich Kontaktangaben

Die schnellste und einfachste Methode. Auch wenn diese zusätzlichen Felder im Backend unter Kontaktangaben angezeigt werden, müssen sie nicht zwangsläufig für Kontaktangaben genutzt werden. Auch ein Input-Feld ist nicht zwingend notwendig. Auch Textboxen, Datums- oder Farbwahl wäre denkbar.

Folgender PHP-Code ist klein, leicht anpassbar und wird in die functions.php kopiert und dort den eigenen Anforderungen angepasst.

function modify_contact_methods($profile_fields) {
 
// Add new fields
$profile_fields['twitter'] = 'Twitter Username';
$profile_fields['facebook'] = 'Facebook URL';
$profile_fields['gplus'] = 'Google+ URL';
 
return $profile_fields;
}
add_filter('user_contactmethods', 'modify_contact_methods');

Ausgabe der gespeicherten Informationen

Alle Felder sind nun über
get_the_author_meta();
ansprechbar. Für das Feld twitter wäre es also:
get_the_author_meta('twitter');

Möglichkeit 2: einen eigenen Bereich erstellen

Vom Code her etwas umfangreicher, aber immernoch übersichtlich. Dieses Beispiel erstellt einen Bereich namens „Informations for seoite“ und erstellt 3 Felder, um Angaben zu sozialen Profilen zu machen. Dies kann natürlich leicht angepasst werden. Der Code ist sehr leicht und selbsterklärend. Bei Fragen, bitte ich um Kommentare oder E-Mails.

Der Code wurde in Englisch gehalten und zur Übersetzung vorbereitet. Arbeitet man im Team und/oder soll eine mehrsprachigkeit umgesetzt werden oder wenn man einfach nur sauber arbeiten will, empfiehlt sich diese Vorgehensweise. Einheitlich im Code und übersetzt über eine entsprechende Sprachdatei.

In die functions.php kopieren und den eigenen Anforderungen anpassen:

/**
* More informations on user profiles
*/
 
add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );
 
function extra_user_profile_fields( $user ) { ?>
<h3><?php _e("Informations for seoite", "blank"); ?></h3>
 
<table class="form-table">
<tr>
<th><label for="fbfanpage"><?php _e("Facebook Fanpage"); ?></th>
<td>
<input type="text" name="fbfanpage" id="fbfanpage" value="<?php echo esc_attr( get_the_author_meta( 'fbfanpage', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your Facebook Fanpage like https://facebook.com/example."); ?></span>
</td>
</tr>
<tr>
<th><label for=""twitterusername"><?php _e("Twitter username"); ?></label></th>
<td>
<input type="text" name="twitterusername" id="twitterusername" value="<?php echo esc_attr( get_the_author_meta( 'twitterusername', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your Twitter username without @."); ?></span>
</td>
</tr>
<tr>
<th><label for="pinterestusername"><?php _e("Pinterest username"); ?></label></th>
<td>
<input type="text" name="pinterestusername" id="pinterestusername" value="<?php echo esc_attr( get_the_author_meta( 'pinterestusername', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your Pinterest username."); ?></span>
</td>
</tr>
</table>
<?php }
 
add_action( 'personal_options_update', 'save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' );
 
function save_extra_user_profile_fields( $user_id ) {
 
if ( !current_user_can( 'edit_user', $user_id ) ) { return false; }
 
update_user_meta( $user_id, 'fbfanpage', $_POST['fbfanpage'] );
update_user_meta( $user_id, 'twitterusername', $_POST['twitterusername'] );
update_user_meta( $user_id, 'pinterestusername', $_POST['pinterestusername'] );
}

Ausgabe der gespeicherten Informationen

Wie auch bei der ersten Methode ist die Ausgabe kinderleicht und exakt gleich:
<?php get_the_author_meta(); ?>
Für den Benutzernamen von twitter wäre das dann:
<?php get_the_author_meta('twitterusername'); ?>

Enfold-Theme Credit-Link aus dem Footer entfernen

Wenn wir eine neue Website erstellen und Enfold als WordPress-Theme verwenden, ist eine der ersten Modifikationen: den Credit-Link zu kriesi.at im Footer löschen. Das funktioniert schnell und unkompliziert per Shortcode.

Um den den Credit-Link aus dem Sockel zu entfernen besucht man die Enfold-Einstellungen (seines Enfold-Child-Themes). Im Reiter Footer findet sich das Eingabefeld Copyright. Dort gibt man folgenden Shortcode ein und eventuellen Text oder HTML. Der Shortcode beseitigt alle Credit-Vorgaben und ermöglicht die eigene Gestaltung.

Credit-Link im Enfold-Theme entfernen. Einfach per Shortdode!


[nolink]

Beispielsweise könnte dann der Code im Feld Copyright wie folgt aussehen:

[nolink]<a href="http://wellseo.de" target="_blank"><img src="http://wellseo.de/wp-content/uploads/2016/08/cropped-logo-wellseo-webdesign-208x60.png" alt="wellseo" /></a>

Wir konnten helfen, du hast Fragen oder konstruktive Kritik? Wir freuen uns auf den Dialog!

Merken