# Une bio d’auteur affichée grâce à wp_usermeta, sans champ personnalisé

> Comment enrichir une page auteur avec une biographie et des liens vers les réseaux, en s'appuyant uniquement sur les métadonnées natives des profils utilisateurs.

- Auteur : WordPress Développement
- Publié le : 2022-02-05
- Mis à jour le : 2022-02-05
- Catégorie : Thèmes
- URL : https://www.wpmoderne.fr/themes/bio-auteur-wp-usermeta-sans-champ-personnalise/

## L’essentiel

- WordPress stocke déjà une biographie et plusieurs liens sociaux nativement
- get_the_author_meta() suffit à tout récupérer
- Aucune extension de profil n'est nécessaire pour ce besoin courant

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) |

> L'essentiel à retenir : WordPress stocke déjà une biographie et plusieurs liens sociaux nativement ; get_the_author_meta() suffit à tout récupérer ; Aucune extension de profil n'est nécessaire pour ce besoin courant

## 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' )` et `get_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.
