Ajouter des champs personnalisés au profil utilisateur dans WordPress

L'une des raisons pour lesquelles WordPress est si populaire parmi les utilisateurs est qu'il nous fournit un excellent système de gestion des utilisateurs et la possibilité de créer des blogs et des plates-formes de publication multi-auteurs. Cependant, dans certains cas, il est nécessaire de développer les informations utilisateur par défaut et d'ajouter davantage de champs au profil utilisateur. Dans ce tutoriel, nous allons vous montrer comment ajouter et traiter des méta-champs personnalisés pour les utilisateurs de WordPress. Il existe deux façons d’ajouter des métadonnées d’utilisateur, examinons-les de plus près.



Utilisation du filtre user_contactmethods

La première méthode est la plus facile, mais elle a certaines limites. En utilisant cette méthode, vous pouvez ajouter des informations de contact, telles que des liens de réseaux sociaux, mais vous ne pourrez ajouter aucune autre donnée personnalisée. Dans la plupart des cas, cependant, cela serait plus que suffisant, c'est pourquoi nous allons vous montrer comment l'utiliser en premier.

user_contactmethods est un filtre appelé par wp_get_user_contact_methods. En utilisant ce filtre, nous pouvons ajouter des champs sociaux obligatoires et les afficher sur la page utilisateur du panneau d'administration. Ensuite, nous serions en mesure de remplir chaque champ et de sauvegarder les informations du nouvel utilisateur. Si vous souhaitez utiliser ce filtre, ajoutez le code suivant à votre fichier functions.php.:

La fonction tm_additional_contact_methods est appelée à chaque fois que nous extrayons les informations utilisateur de la base de données. L'argument $fields est un tableau qui contient toutes les options de contact. Dans notre fonction, nous l'utilisons pour ajouter trois champs supplémentaires et le renvoyer pour traitement ultérieur. Après avoir ajouté le filtre, vous pouvez trouver les nouveaux champs dans la section "Informations de contact".

User profile information in WordPress admin panelUser profile information in WordPress admin panel

Pour afficher les données sauvegardées sur le front-end, utilisez la fonction get_the_author_meta, par exemple, si vous souhaitez afficher le lien de profil Facebook, utilisez

get_the_author_meta( ‘facebook’ );


En utilisant les crochets 'edit_user_profile' et 'show_user_profile'

La deuxième façon d'ajouter des informations sur l'utilisateur serait plus flexible, mais aussi plus complexe. Il comprend deux étapes. Nous devons d’abord sortir les champs personnalisés, puis enregistrer leurs valeurs dans la base de données.

Afin d'ajouter nos propres champs, nous utiliserions edit_user_profile et show_user_profile, qui sont appelés juste avant de sortir le bouton "Mettre à jour" sur la page utilisateur (ou sur votre propre page de profil). Essayons d'ajouter un champ pour afficher la date de naissance de l'utilisateur. Pour ce faire, nous devons ajouter le code suivant au fichier functions.php:

Examinons ce code en détail. Premièrement, nous devons faire un travail de préparation. Étant donné que la plage des données demandées est limitée par le nombre de jours et de mois, il serait préférable d’ajouter non pas simplement des champs de saisie de texte, mais bien des cases avec une liste de jours et de mois. C'est pourquoi créons un tableau avec une liste des mois disponibles.

Nous pouvons également obtenir la valeur de la date de naissance enregistrée dans la base de données. Afin d’éviter les erreurs, combinons le tableau de la base de données et le tableau avec les valeurs par défaut en utilisant wp_parse_args.

La prochaine étape serait d'écrire le code HTML pour nos champs. Nous allons renseigner les cases de sélection avec les boucles for et foreach, et vérifier quelles options sont enregistrées dans la base de données à l'aide de la fonction sélectionnée. Nous devrions prêter une attention particulière à l'attribut name des boîtes de sélection, leur valeur est définie au format birth_date[day]. De cette manière, nous pouvons stocker la date de naissance dans un tableau unique.

Après avoir ajouté ce morceau de code, nous pouvons voir l’image suivante sur la page de profil de l’utilisateur:

User's birth date meta data in WordPress admin panelUser's birth date meta data in WordPress admin panel

Ajoutons maintenant un mécanisme d’enregistrement des valeurs de champ dans la base de données. Pour ce faire, nous allons ajouter le code suivant dans notre fichier functions.php:

Au début de cette fonction, nous avons ajouté plusieurs contrôles de sécurité afin d’éviter les erreurs lors de la sauvegarde des données dans la base de données.

Maintenant en utilisant la fonction get_the_author_meta nous pouvons afficher la date de naissance de l'utilisateur au début. Dans notre cas, cette fonction renvoie un tableau avec des éléments contenant le jour, le mois et l'année de naissance de l'utilisateur.

À la fin, nous pouvons combiner les premier et deuxième exemples et les utiliser comme base d'une fonction permettant d'afficher des informations étendues sur l'utilisateur:

Passons rapidement en revue le code dans notre fonction. Au début, nous créons un tableau avec les données des réseaux de médias sociaux, afin de pouvoir l'utiliser pour afficher la liste des liens sociaux d'un utilisateur. La date de naissance peut être affichée à l’aide de la fonction implode, qui transformera les éléments du tableau en chaîne, en utilisant un espace comme délimiteur. Les autres données utilisateur peuvent être affichées à l’aide des fonctions standard de WP telles que get_avatar, the_author_posts_link et the_author_meta.


N'hésitez pas à télécharger le code source de ce tutoriel, que nous avons décidé de transformer en un petit plugin. Après avoir installé et activé le plug-in, vous pouvez afficher une boîte contenant des informations supplémentaires sur l'utilisateur à l'aide de cette ligne de code:

Nous espérons que ce tutoriel vous aura aidé à comprendre les méthodes permettant d'ajouter des métadonnées utilisateur à votre site WordPress à un niveau plus approfondi et à les implémenter vous-même.

Restez à l'écoute, d'autres tutoriels sont à venir!



Claire

Claire est une écrivaine talentueuse et curieuse. Sa principale priorité est de transmettre en termes simples des informations difficiles. Elle adore le monde de la conception Web et partage des trucs sympas sur sa page Facebook. Elle s'intéresse également activement à la littérature, aux traductions et communique avec plaisir avec les abonnés en ligne.