comment obtenir la liste de tous les utilisateurs et leurs métadonnées
-
-
Vérifiez [this] (http://wordpress.stackexchange.com/q/36899/43098)Check [this](http://wordpress.stackexchange.com/q/36899/43098)
- 0
- 2016-06-29
- bravokeyl
-
mais alorsj'aibesoin d'appels différents 1pour l'utilisateur 1pour lesmétadonnées.Comment les combiner?but then I need to different calls 1 for user 1 for metadata. How do I combinate them?
- 0
- 2016-06-29
- Hermants
-
Et cet appelest??And that call is??
- 1
- 2016-06-29
- Hermants
-
3 réponses
- votes
-
- 2016-06-30
Jepense que vous devriez utiliser lesfonctions wp-api quiferonttoutpour vous.
-
Lafonction
- get_users () obtiendratoutes les données des utilisateurs,définissez simplement les champs uexigent. Lafonction
- get_user_meta () obtiendra les données de l'utilisateur.
$users = get_users( array( 'fields' => array( 'ID' ) ) ); foreach($users as $user){ print_r(get_user_meta ( $user->ID)); }
I think you should use wp-api functions which will do everything for you.
- get_users() function will get all users data just define fields which u require.
- get_user_meta() function will get usermeta data.
$users = get_users( array( 'fields' => array( 'ID' ) ) ); foreach($users as $user){ print_r(get_user_meta ( $user->ID)); }
-
Mais celane fera-t-ilpas une requêtepar utilisateur à labase de données?Existe-t-il unmoyen de lefaire avecmoins de requêtes?But will this not make one query per user to the database? Is there any way to do it with fewer queries?
- 1
- 2019-08-17
- Mikael Lindqvist
-
Lorsque WP récupère un objettel qu'un utilisateur/post/terme,ilpré-récupère également samétaet leplace dans `wp_cache`pour réduire lenombre de requêteset accélérer les choses.Ces appels `get_user_meta`ne ferontpas de requêtes debase de données,les données ont déjà été récupérées lorsque`get_users` a été appelé.When WP fetches an object such as a user/post/term it also pre-fetches its meta and puts it in `wp_cache` to reduce the number of queries and speed up things. Those `get_user_meta` calls won't be making database queries, the data was already fetched when `get_users` was called.
- 0
- 2020-06-26
- Tom J Nowell
-
- 2019-11-02
Unemanière unpeuplusformelle d'obtenir lesmêmes résultatsest la suivante Remplacezn'importe quel rôle sinécessaireet ce code suppose que vous utilisez woocommercepour desinformationsplus détaillées.
function GetSubscriberUserData() { $DBRecord = array(); $args = array( 'role' => 'Subscriber', 'orderby' => 'last_name', 'order' => 'ASC' ); $users = get_users( $args ); $i=0; foreach ( $users as $user ) { $DBRecord[$i]['role'] = "Subscriber"; $DBRecord[$i]['WPId'] = $user->ID; $DBRecord[$i]['FirstName'] = $user->first_name; $DBRecord[$i]['LastName'] = $user->last_name; $DBRecord[$i]['RegisteredDate'] = $user->user_registered; $DBRecord[$i]['Email'] = $user->user_email; $UserData = get_user_meta( $user->ID ); $DBRecord[$i]['Company'] = $UserData['billing_company'][0]; $DBRecord[$i]['Address'] = $UserData['billing_address_1'][0]; $DBRecord[$i]['City'] = $UserData['billing_city'][0]; $DBRecord[$i]['State'] = $UserData['billing_state'][0]; $DBRecord[$i]['PostCode'] = $UserData['billing_postcode'][0]; $DBRecord[$i]['Country'] = $UserData['billing_country'][0]; $DBRecord[$i]['Phone'] = $UserData['billing_phone'][0]; i++; } return DBRecord; }
At bit more formal way to achieve the same results are as follows Substitute any role as necessary and this code assumes you are using woocommerce for more detailed information.
function GetSubscriberUserData() { $DBRecord = array(); $args = array( 'role' => 'Subscriber', 'orderby' => 'last_name', 'order' => 'ASC' ); $users = get_users( $args ); $i=0; foreach ( $users as $user ) { $DBRecord[$i]['role'] = "Subscriber"; $DBRecord[$i]['WPId'] = $user->ID; $DBRecord[$i]['FirstName'] = $user->first_name; $DBRecord[$i]['LastName'] = $user->last_name; $DBRecord[$i]['RegisteredDate'] = $user->user_registered; $DBRecord[$i]['Email'] = $user->user_email; $UserData = get_user_meta( $user->ID ); $DBRecord[$i]['Company'] = $UserData['billing_company'][0]; $DBRecord[$i]['Address'] = $UserData['billing_address_1'][0]; $DBRecord[$i]['City'] = $UserData['billing_city'][0]; $DBRecord[$i]['State'] = $UserData['billing_state'][0]; $DBRecord[$i]['PostCode'] = $UserData['billing_postcode'][0]; $DBRecord[$i]['Country'] = $UserData['billing_country'][0]; $DBRecord[$i]['Phone'] = $UserData['billing_phone'][0]; i++; } return DBRecord; }
-
- 2020-06-24
J'ai créé unplugin simpleet gratuit,appelé Flat Meta Data ,qui aplatit lesmétadonnées desmessageset des utilisateurs données dans un CSV quipeut être utiliséplusfacilementpour le reportinget l'analyse. Dans leprocessus,il crée destables dans votrebase de données (
[:prefix]postmeta_flat
et[:prefix]usermeta_flat
) qui contiennent lesmêmesinformationset peuvent être utilisées dans des requêtesplus complexes. Cestableaux ont une lignepar article ou utilisateuret une colonneparpoint de données (meta_key) contenant lesméta valeurs (meta_value).Après avoirinstalléet activé leplugin (dans wp-content/plugins/flat-table),ilest accessible via un lien dans lemenuprincipal dupanneau d'administration,appelé Flat Meta Data. Vouspouvezensuite cliquer sur "Télécharger lesmétadonnées de l'article". ou & quot; Télécharger lesmétadonnées utilisateur & quot;boutonpourgénérer letableauet télécharger le CSV contenanttoutes les données sousforme defeuille de calcul.
Quelquesnotes:
- Cepluginestfournigratuitement. Utilisez à vospropres risques.
- Lesprivilèges CREATE TABLE sont requis. Celane devraitpas être unproblème,maispourrait l'être si vous avez restreint l'accès à l'utilisateur de labase de données WordPress.
- Lagénérationet letéléchargement d'unensemble complet demétadonnéespeuvent avoir unimpactnégatif sur lesperformances du système. Veuillez lefaire uniquementpendant les heures creuses ou,mieuxencore,sur unbac à sable rempli de vos donnéesen direct.
S'il vousplaît laissez-moi savoir si vous avez des questions. Merci.
I created a simple, free plugin, called Flat Meta Data, that flattens post and user meta data into a CSV that can more easily be used for reporting and analysis. In the process it creates tables in your database (
[:prefix]postmeta_flat
and[:prefix]usermeta_flat
) that contain the same information and can be used in more complex queries. These tables have one row per post or user and one column per data point (meta_key) containing the meta values (meta_value).After installing and activating the plugin (in wp-content/plugins/flat-table), it is accessible through a link in the main menu of the admin panel, called Flat Meta Data. You can then click on either the "Download post meta data" or "Download user meta data" button to generate the table and download the CSV containing all of the data in spreadsheet form.
A few notes:
- This plugin is provided free of charge. Use at your own risk.
- CREATE TABLE privileges are required. This shouldn't be an issue, but could be if you've restricted access to the WordPress database user.
- Generating and downloading a complete set of meta data can negatively impact system performance. Please do so only during off-hours or, better yet, on a sandbox populated with your live data.
Please let me know if you have any questions. Thanks.
-
Bonjouret bienvenue!Pouvez-vousmettre àjour votre réponsepourexpliquer comment cela sefait?Les réponses doivent être autonomes,ellesne peuventpas reposerentièrement sur des liens hors site.Hello and welcome! Can you update your answer to explain how it does this? Answers need to be self contained, they can't rely entirely on offsite links.
- 0
- 2020-06-25
- Tom J Nowell
-
Mercipour les conseils,Tom.J'espère quemesmodifications suffiront.Veuillezme faire savoir si vous avezbesoin deprécisions.Thanks for the guidance, Tom. Hopefully my edits suffice. Please let me know if you need any clarification.
- 1
- 2020-06-26
- Tim Burch
-
Ahmais c'estjuste comment utiliser leplugin cependant: (Vous devez répondre à la question,et unpluginne lefaitpas,vouspouvez créer un lien vers desendroits hors site comme lecture supplémentaire ou commeexemplesmais la réponse doit contenir la réponse dans sonLe lien vers unpluginn'est qu'une recommandation,pas une réponse. En lisant ceci,je n'aitoujours aucuneidée de lafaçon dont votreplugin résout leproblème,iln'y apas de détailtechnique,ce quiest dommage car c'est unexcellentexemplepour démontrer des compétencestechniqueset répondre à laquestionpratiquementAh but that's just how to use the plugin though :( You need to answer the question, and a plugin doesn't do that, you can link to offsite places as further reading or as examples but the answer needs to contain the answer in its text. Linking to a plugin is just a recommendation, not an answer. Reading this I stll have no idea how your plugin solves ther problem, there's no technical detail, which is a shame because it's a great example to demonstrate technical skill and answer the question practically
- 0
- 2020-06-26
- Tom J Nowell
Commentpuis-je obtenir une liste detous les utilisateurs avec role='Clients'incluanttoutes lesmétadonnéespar utilisateur,signifie wp_users + wp_usermeta.
La requête ci-dessousne génèrepas les résultats souhaités.
Mais cette listen'estpas correcte.Ilmontre que chaque utilisateur xfois dépend dunombre de lignes dans wp_usermeta.
Commentpuis-je lefiltrer?Que chaque utilisateur afficheparenregistrementtoutes sesmétadonnées utilisateur +?
Toujours à la recherchependant 6 heures.