Faut-il vraiment installer une extension de gestion de profil pour afficher une biographie d’auteur enrichie sur une page dédiée ? Dans la majorité des cas, la réponse est non : WordPress stocke nativement bien plus d’informations sur chaque utilisateur que ce qu’un thème classique affiche par défaut.
Le profil utilisateur, accessible depuis l’écran « Utilisateurs » de l’administration, comprend déjà une biographie, une adresse de site web, et plusieurs champs liés aux réseaux sociaux selon la version de WordPress installée. Ces informations sont accessibles depuis n’importe quel template via get_the_author_meta().
Les champs natifs disponibles
Sans configuration supplémentaire, chaque compte utilisateur dispose des métadonnées suivantes, directement exploitables dans un template de page auteur.
| Clé | Contenu |
|---|---|
| description | La biographie saisie dans le profil |
| user_url | Le site web personnel ou professionnel |
| display_name | Le nom affiché publiquement |
| user_email | L’adresse courriel (à afficher avec prudence) |

Construire le template author.php
<?php
$auteur_id = get_queried_object_id();
$bio = get_the_author_meta( 'description', $auteur_id );
$site = get_the_author_meta( 'user_url', $auteur_id );
?>
<div class="fiche-auteur">
<h2><?php echo esc_html( get_the_author_meta( 'display_name', $auteur_id ) ); ?></h2>
<?php if ( $bio ) : ?>
<p><?php echo esc_html( $bio ); ?></p>
<?php endif; ?>
<?php if ( $site ) : ?>
<p><a href="<?php echo esc_url( $site ); ?>">Site personnel</a></p>
<?php endif; ?>
</div>
get_queried_object_id() retourne ici l’identifiant de l’auteur consulté, ce qui évite de dépendre d’une variable globale moins explicite. L’échappement systématique avec esc_html() et esc_url() reste indispensable, une biographie étant un champ librement modifiable par chaque utilisateur.
Ajouter des liens sociaux sans extension
Depuis WordPress 5.4, le profil utilisateur intègre nativement des champs pour plusieurs réseaux, accessibles eux aussi via get_the_author_meta() avec les clés correspondantes.
get_the_author_meta( 'twitter', $auteur_id )pour le pseudonyme associé au réseau social concerné.get_the_author_meta( 'facebook', $auteur_id )pour le lien de profil correspondant.get_the_author_meta( 'aim' )etget_the_author_meta( 'yim' ), des champs plus anciens, rarement utiles aujourd’hui.
Étendre proprement si un besoin dépasse le natif
Si un besoin précis dépasse ce que les champs natifs couvrent, par exemple un numéro de téléphone professionnel ou une fonction dans l’entreprise, la bonne pratique reste d’ajouter un champ personnalisé sur le profil utilisateur via add_action( 'show_user_profile', ... ) et update_user_meta(), plutôt que d’installer une extension complète de gestion de profil pour un seul champ supplémentaire.
function monthème_champ_fonction( $user ) {
?>
<h3>Informations complémentaires</h3>
<table class="form-table">
<tr>
<th><label for="fonction">Fonction</label></th>
<td>
<input type="text" name="fonction" id="fonction"
value="<?php echo esc_attr( get_the_author_meta( 'fonction', $user->ID ) ); ?>"
class="regular-text" />
</td>
</tr>
</table>
<?php
}
add_action( 'show_user_profile', 'monthème_champ_fonction' );
add_action( 'edit_user_profile', 'monthème_champ_fonction' );
Avant d’ajouter un champ, un réflexe utile : vérifier la liste complète des métadonnées déjà stockées pour un utilisateur avec un simple affichage de
get_user_meta( $id )sans clé précise, pour éviter de dupliquer une information déjà disponible.
En résumé
Une page auteur enrichie n’exige presque jamais d’extension dédiée : la structure de profil native de WordPress couvre déjà l’essentiel des besoins courants. Réserver l’ajout de champs personnalisés aux besoins réellement absents du profil de base garde le thème plus léger et plus simple à maintenir.