So erhalten Sie eine Liste aller Benutzer und ihrer Metadaten
-
-
Überprüfen Sie [dies] (http://wordpress.stackexchange.com/q/36899/43098)Check [this](http://wordpress.stackexchange.com/q/36899/43098)
- 0
- 2016-06-29
- bravokeyl
-
aber dannmussich verschiedene Aufrufe 1für Benutzer 1für Metadaten.Wie kombiniereich sie?but then I need to different calls 1 for user 1 for metadata. How do I combinate them?
- 0
- 2016-06-29
- Hermants
-
Und dieser Anrufist?And that call is??
- 1
- 2016-06-29
- Hermants
-
3 Antworten
- Stimmen
-
- 2016-06-30
Ich denke,Sie sollten wp-api-Funktionen verwenden,die allesfür Sietun.
- Mit der Funktion get_users () erhalten alle Benutzerdatennur Felder,die uerfordern.
- Die Funktion get_user_meta () ruft Usermeta-Daten ab.
$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)); }
-
Aber wird diesnichteine Abfragepro Benutzer an die Datenbankmachen?Gibteseine Möglichkeit,diesmit weniger Abfragen zutun?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
-
Wenn WPein Objekt wieeinen Benutzer/Post/Term abruft,ruftes auch sein Meta vorab ab und legtesin "wp_cache" ab,um die Anzahl der Abfragen zu verringern und die Dinge zubeschleunigen.Diese "get_user_meta" -Aufrufeführen keine Datenbankabfragen durch. Die Daten wurdenbereitsbeim Aufruf von "get_users" abgerufen.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
Etwasformeller,um diegleichen Ergebnisse zuerzielen,sind diefolgenden Ersetzen Siejede Rollenach Bedarf,undin diesem Code wird davon ausgegangen,dass Sie Woocommerce verwenden,um detailliertere Informationen zuerhalten.
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
Ich habeein einfaches,kostenloses Pluginnamens Flat Meta Data erstellt,das Post- und Benutzer-Meta abflacht Datenin eine CSV,dieeinfacherfür die Berichterstellung und Analyse verwendet werden kann. Dabei werden Tabellenin Ihrer Datenbankerstellt (
[:prefix]postmeta_flat
und[:prefix]usermeta_flat
),die dieselben Informationenenthalten undin komplexeren Abfragen verwendet werden können. Diese Tabellenenthalteneine Zeilepro Beitrag oder Benutzer undeine Spaltepro Datenpunkt (meta_key),die die Metawerte (meta_value)enthält.Nach der Installation und Aktivierung des Plugins (in wp-content/plugins/flat-table)ist der Zugriff übereinen Linkim Hauptmenü des Admin-Panelsmit dem Namen Flat Meta Datamöglich. Sie können dannentweder auf "Post-Metadaten herunterladen" klicken. oder & quot; Benutzer-Metadaten herunterladen & quot; Klicken Sie auf die Schaltfläche,um die Tabelle zuerstellen und die CSV herunterzuladen,die alle Datenin Tabellenformenthält.
Einige Anmerkungen:
- Dieses Plugin wird kostenlos zur Verfügunggestellt. Die Verwendungerfolgt aufeigenes Risiko.
- CREATE TABLE-Berechtigungen sinderforderlich. Dies sollte kein Problem sein,kann aber sein,wenn Sie den Zugriff auf den Benutzer der WordPress-Datenbankeingeschränkt haben.
- Das Generieren und Herunterladeneines vollständigen Satzes von Metadaten kann sichnegativ auf die Systemleistung auswirken. Bittetun Sie diesnur außerhalb der Geschäftszeiten oder,nochbesser,in einer Sandbox,diemit Ihren Live-Datengefülltist.
Bitte lassen Siemich wissen,wenn Sie Fragen haben. Danke.
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.
-
Hallo und herzlich willkommen!Können Sie Ihre Antwort aktualisieren,um zuerklären,wie diesfunktioniert?Die Antwortenmüssenin sichgeschlossen sein und können sichnicht ausschließlich aufexterne Links verlassen.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
-
Dankefür die Anleitung,Tom.Hoffentlich reichenmeine Änderungen aus.Bitte lassen Siemich wissen,wenn Sie weitere Informationenbenötigen.Thanks for the guidance, Tom. Hopefully my edits suffice. Please let me know if you need any clarification.
- 1
- 2020-06-26
- Tim Burch
-
Ah,aber so kannman das Plugin verwenden :( Siemüssen die Fragebeantworten,undein Plugintut diesnicht. Sie können als weiterführende Literatur oder als Beispiel auf Offsite-Orte verlinken,aber die Antwortmuss die AntwortenthaltenText. Das Verknüpfenmit einem Pluginistnureine Empfehlung,keine Antwort. Wennich dies lese,habeich keine Ahnung,wie Ihr Plugin das Problem löst. Esgibt keinetechnischen Details,was schadeist,daesein großartiges Beispielist,umtechnische Fähigkeiten zu demonstrieren und die zubeantwortenFragepraktischAh 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
Wieerhalteicheine Liste aller Benutzermit der Rolle='Kunden',einschließlich aller Metadatenpro Benutzer,dh wp_users + wp_usermeta.
Diefolgende Abfragegeneriertnicht diegewünschten Ergebnisse.
Diese Listeistjedochnicht korrekt.Es zeigt,dassjeder Benutzer x-mal von der Anzahl der Zeilenin wp_usermeta abhängt.
Wie kannichesfiltern?Dassjeder Benutzerpro Datensatz alle seine Benutzer + Metadaten anzeigt?
Ich suchenoch 6 Stunden.