web-dev-qa-db-fra.com

Relation utilisateur

J'ai créé une page d'inscription personnalisée, grâce à laquelle une personne reçoit un code d'un autre utilisateur et la saisit lors de son inscription. Si le code correspond, il faut que l'utilisateur qui vient de s'inscrire se lie à l'utilisateur à partir duquel il a reçu le code. Notez que je sauvegarde ces codes dans un tableau de plug-in personnalisé.

Ainsi, vous aurez une relation un à plusieurs, où un utilisateur peut avoir plusieurs sous-utilisateurs. Si possible, j'ai besoin de pouvoir l'étendre davantage pour qu'un sous-utilisateur puisse également avoir de nombreux sous-utilisateurs. Donc, la première relation et ma priorité actuelle seraient:

USER
 |
SUB-USER

J'aimerais alors pouvoir faire ceci:

USER - A
 |
SUB-USER B  -------
    |             |
 SUB-USER C    SUB-USER D

L'utilisateur B est lié à l'utilisateur A. Les utilisateurs C et D sont liés à B.

Je sais que nous pouvons utiliser le et Meta utilisateur de mise à jour et interroger ces relations avec la requête suivante. J'aimerais juste quelques conseils sur la création de ce type de relation à venir.

$users_sub_users = new WP_User_Query( array(
   'meta_key' => 'user',
   'meta_value' => $user_id
) );
2
zen_1991

si j'étais vous, j'utiliserais la table wp_usermeta. il est possible d'ajouter facilement des informations à ce tableau:

add_user_meta(NEW_USER_ID, "PARENT_USER_ID",USER_ID,true);

USER_ID: l'identifiant de l'utilisateur de niveau supérieur, (dans votre cas, l'identifiant de l'utilisateur A) "PARENT_USER_ID": une clé que vous pouvez rechercher et trouver le résultat en fonction de NEW_USER_ID: l'identifiant de sub_user true: pour laisser plusieurs utilisateurs sous-utilisateur du même utilisateur

par exemple, si ID utilisateur A est 41 et que l'identifiant du nouvel utilisateur (qui est B) est 82, votre code ressemble à ceci:

add_user_meta(82, "PARENT_USER_ID",41,true);

vous pouvez ensuite rechercher tous les utilisateurs dont PARENT_USER_ID est user_id (dans notre exemple 41), puis vous obtiendrez tous les sous-utilisateurs de cet utilisateur.

exemple de requête:

$user_query = new WP_User_Query( array( 'meta_key' => 'PARENT_USER_ID', 'meta_value' => '41' ) );
1
Arash Rabiee