Au fur et à mesure que j'affinerai mon plugin le plus populaire, il stockera un numéro spécial décodé à partir de la date de naissance de l'utilisateur, qui est un champ BuddyPress étendu dans bp_xprofile_data
. Tous les utilisateurs reçoivent un nombre compris entre 1 et 260, et je vais établir une liste des utilisateurs de BuddyPress en fonction de ce nombre.
Il semble qu'il existe au moins deux méthodes établies de stockage de données utilisateur étendues avec la table usermeta
. Il y a 4 méthodes possibles que je peux imaginer:
bp_xprofile_data
usermeta
wp_users
afin que je puisse obtenir user_id
avec le "plus rapide PHP à l'ouest"Je veux un code efficace avec des ressources bien sûr, car il y a beaucoup de choses à faire.
La méthode recommandée consiste-t-elle à insérer le nombre dans la variable usermeta
et à la récupérer avec une requête, quelque chose comme ceci?
$users_by_kin = "SELECT *
FROM ".$wpdb->prefix."usermeta
WHERE meta_key='kin_id'
AND meta_value='$kin_id'"
Quelle méthode est considérée comme la meilleure WP Pratiques?
Si vous souhaitez utiliser les meilleures pratiques parmi les options répertoriées, utilisez la table méta de l'utilisateur.
La pire chose à faire est d’ajouter une colonne à la table des utilisateurs. Il est interdit de modifier la structure de la table WP par défaut.
Les deux autres options se situent quelque part entre, l’ajout de votre propre table étant le moins préféré.
Mais pourquoi n'utilisez-vous pas la classe WP_User_Query?
$user_by_kin = new WP_User_Query(
array(
'meta_key' => 'kin_id',
'meta_value' => $kin_id,
'meta_compare' => '='
)
);