Astuces & Snippets WordPress

Ajouter/Supprimer des champs "contact" dans l'admin profil

Après avoir créer un compte utilisateur, celui-ci peut modifier des informations de contact : Aim, Yahoo et Jabber. Découvrez comment supprimer ces champs, mais aussi comment en ajouter de nouveau.

S'inscrire à la newsletter

Après avoir créé son compte en fournissant son pseudo, adresse email et mot de passe, le membre d’un site WordPress a la possibilité de modifier des informations de contact : site web, Aim, Yahoo et Jabber (c’est quoi ça ?!).

Nous allons voir comment faire pour supprimer des champs par défaut et comment procéder pour ajouter de nouveaux champs de contact personnalisés.

L’astuce consiste à modifier le filtre user_contactmethods et de retourner un nouveau tableau contenant nos différents champs.

Dans cet exemple, on supprime les 3 champs par défaut (Aim, Yahoo et Jabber) et on ajoute deux nouveaux champs (Facebook et Twitter).

Comme d’habitude, le code se place dans le fichier functions.php qui se trouve à la racine de votre thème.

function custom_contact_info($contactmethods) {
    unset($contactmethods['aim']); // Suppression du champ "Aim"
    unset($contactmethods['yim']); // Suppression du champ "Yahoo IM"
    unset($contactmethods['jabber']); // Suppression du champ "Jabber / Google Talk"
    
    $contactmethods['facebook'] = 'Facebook'; // Ajout d'un champ "Facebook"
    $contactmethods['twitter'] = 'Twitter'; // Ajout d'un champ "Twitter"

    return $contactmethods;
}
add_filter('user_contactmethods', 'custom_contact_info');

Voici un aperçu du résultat :

Nouveau champs de contact WordPress

Afficher les valeurs des champs contact

« Ok, on a ajouté les champs, mais maintenant comment fait-on pour afficher les informations de contact sur la page profil du membre ? »
Haha, j’anticipe votre question :)

La fonction the_author_meta() permet de récupérer les champs personnalisés d’un membre.

<a href="<?php the_author_meta('facebook', $current_author->ID); ?>"></a>
<a href="<?php the_author_meta('twitter', $current_author->ID); ?>"></a>
Un commentaire
  1. Florian le

    Bonjour,

    et merci pour votre blog. J’aurais souhaité savoir s’il était possible de la même façon d’intégrer des « dropdown list » dans les profils des utilisateurs ?

    Par avance merci pour votre retour.

Poster un commentaire

Les champs obligatoires sont indiqués avec *

Prévenez moi de tous les nouveaux commentaires par email.

Ne plus afficher|Fermer
Suivez-nous sur Facebook !