Création par programmation d’utilisateurs WordPress
Cet article est la deuxième partie d’une série sur laquelle je travaille et qui parle de WordPress Metadata Association, et la première partie de cela implique de travailler sur le processus de création par programmation d’utilisateurs WordPress (mais cela fait cinq ans !).
J’ai déjà parlé de faire cela auparavant, mais les choses changent avec le temps à mesure que nous acquérons plus d’expérience, n’est-ce pas ? Et en travaillant sur une série comme celle-ci, je pense qu’il est utile d’avoir un ensemble d’exigences que nous pouvons suivre, à tout le moins, pour simuler à quoi cela pourrait ressembler si cela se produisait dans un projet réel.
Donc, dans cet article particulier, nous allons jeter un œil à ce qui suit :
- Recevoir des informations utilisateur dans un format de données particulier,
- Identifier les informations nécessaires à la création d’un utilisateur,
- Création de l’utilisateur,
- S’assurer que notre code est conforme aux normes de codage et à la lisibilité.
Cela semble beaucoup, même si je n’ai pas l’intention d’en faire un long article. Cela dit, si c’est quelque chose que vous cherchez à apprendre à réfléchir ou à aborder, alors c’est parti.
Création d’utilisateurs WordPress
Supposons que quelqu’un – peut-être un client ou peut-être même vous-même – comme information qui sera utilisée pour créer un utilisateur. Il lui faut au moins les informations suivantes :
- un nom d’utilisateur,
- Un mot de passe,
- une adresse e-mail.
Lorsqu’il s’agit de créer un nom d’utilisateur, j’ai tendance à privilégier l’utilisation de l’adresse e-mail comme nom d’utilisateur également, car c’est quelque chose qui est garanti d’être unique pour presque tous ceux qui utilisent le compte.
Donc, pour ce tutoriel, c’est exactement ce que je vais utiliser. En ce qui concerne le mot de passe, je parlerai momentanément de la génération de mot de passe.
Enfin, vous pouvez supposer que les données dont vous disposez se présentent sous n’importe quelle forme : peut-être sont-elles au format JSON, peut-être au format CSV, peut-être au format XML. Quel que soit le cas, c’est à vous d’analyser ces informations en PHP afin que vous puissiez facilement travailler avec les informations.
Pour garder les choses simples pour ce post, je vais supposer que nous avons un seul enregistrement et nous allons avoir les informations disponibles dans un tableau. Cela ne signifie pas qu’il commence dans un tableau, mais cela signifie que nous le plaçons éventuellement dans un tableau.
1 Les informations de l’utilisateur
Supposons que nous ayons une personne nommée "Meghan" que nous allons ajouter au système. Nous avons une adresse e-mail, et c’est tout.
Un exemple de persona (rendu d’artiste, bien sûr 🙂
Mais ça va. C’est l’essentiel de ce dont nous avons besoin. Prenons donc ces informations :
<?php
$user_info = array(
'email' => 'meghan@emaildomain.com',
'first_name' => 'Meghan',
'last_name' => 'McFarlin',
);
Et transformez-le en quelque chose que nous pouvons utiliser pour créer un compte.
2 Création du compte
La première chose que nous devons faire est de nous assurer qu’un utilisateur n’existe pas déjà pour cette adresse e-mail. Si c’est le cas, nous reviendrons simplement. Vous souhaiterez peut-être afficher un message de paramètres ou un autre type d’informations pour informer l’utilisateur final que vous ne créez pas ce compte car il existe déjà.
Mais cela dépasse le cadre de cet article.
Au lieu de cela, nous allons retourner :
<?php
// Read the email address - if it's - invalid or the user exists, then return.
$email = $user_info['email'];
if (! filter_var( $email, FILTER_VALIDATE_EMAIL) || username_exists( $email)) {
return;
}
Encore une fois, supposons que l’utilisateur n’existe pas. Si elle ne le fait pas – ce qu’elle ne devrait pas (sinon, il n’y a aucune raison pour ce post 😏) – alors nous allons lui créer un compte.
Pour ce faire, nous avons besoin de son adresse e-mail et d’un mot de passe. Heureusement, générer un mot de passe est simple :
<?php
$password = wp_generate_password( 16, false );
Nous pouvons donc maintenant prendre l’adresse e-mail et le mot de passe et créer le compte d’utilisateur.
<?php
// Grab the email and create a password.
$email = $user_info['email'];
$password = wp_generate_password( 12, false );
// Create the user and set her role.
$user_id = wp_create_user( $email, $password, $email );
// Set the user's role (and remove the previous role).
$user = new WP_User( $user_id );
$user->set_role( 'author' );
Notez que dans le code ci-dessus, nous définissons également le rôle. La façon de procéder consiste à saisir d’abord une instance de WP_User, puis avec notre $user_id, puis à définir le rôle.
Je choisis d’utiliser author, mais vous pouvez choisir parmi un ensemble d’autres (ou utiliser tout ce qui se trouve dans votre structure de données).
3 N’y a-t-il pas plus que cela ?
Et avec cela, votre utilisateur devrait être créé. Cela dépend en grande partie du crochet que vous avez utilisé, de la manière dont vous l’avez implémenté dans votre processus et de la manière dont vous autorisez un administrateur à créer des comptes.
C’est un sujet plus avancé que j’aimerais éventuellement aborder dans un prochain article. Pour garder cette série aussi directe et aussi légère que possible, j’essaie de rester aussi concentré sur les étapes de base requises.
Tout le reste peut être mis en œuvre ou habillé autour de tout ce qui est nécessaire selon les exigences du projet.
C’est juste créer un compte
Cependant, il ne s’agit que du traitement de la création par programme d’utilisateurs WordPress. En fait, il ne s’agit que de créer un utilisateur.
Pour créer plusieurs utilisateurs, supposez que vous disposez de plusieurs tableaux contenant des informations dans lesquelles vous pouvez itérer, puis créez les utilisateurs. La mise en œuvre est la même bien qu’elle varie d’un compte à l’autre.
Cela dit, demain, je vais m’occuper de la création de contenu de publication par programmation. Et après cela, nous parlerons de la relation entre un utilisateur donné et le contenu de la publication donnée et de ce que nous pouvons en faire (ainsi que de la raison pour laquelle cela serait même important).
Messages de la série
- Association de métadonnées WordPress: comment faire
- Création par programmation d’utilisateurs WordPress
- Types de publication WordPress: une abstraction pour les entités
- Association de métadonnées WordPress : entités liées
