✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Benutzeradressen in WordPress abrufen, Teil 1

5

Angenommen, Sie arbeiten an einem Projekt, in dem Sie dem Benutzer die Möglichkeit geben möchten, alle E-Mail-Adressen der Benutzer herunterzuladen, die in der WordPress-Installation vorhanden sind. Zugegeben, dies hat ein paar Anforderungen:

  • Sie möchten nur, dass Administratoren dies tun,
  • Es muss über Nonce-Werte sicher sein,
  • Die Antworten sollten in JSON sein,
  • Und Sie möchten JavaScript verwenden, um die Datei zu senden, wenn sie zum Herunterladen bereit ist.

Jedes der oben genannten Konzepte wurde hier wahrscheinlich schon einmal behandelt, aber was ist, wenn Sie sie alle miteinander verbinden möchten? Das heißt, was ist, wenn Sie es einfach machen möchten, Benutzer-E-Mail-Adressen über JSON in WordPress beispielsweise aus einem Verwaltungsmenü oder einem Untermenü herunterzuladen?

Eine obligatorische Aufnahme von meinem Arbeitsplatz, während ich diesen Beitrag schreibe.

Hier ist eine Möglichkeit, dieses Problem anzugehen. Beachten Sie, dass davon ausgegangen wird, dass Sie etwas über das oben Genannte wissen, aber ich werde mein Möglichstes tun, um alle oben genannten Punkte abzudecken.

Laden Sie Benutzer-E-Mail-Adressen über JSON herunter

Bevor Sie beginnen, beachten Sie, dass ich dies so einrichte, dass es immer dann funktioniert, wenn ein Benutzer auf ein Untermenü im Menü „ Extras” in WordPress klickt.

Wie Sie Ihre Haken einrichten, kann variieren. Ich habe begonnen, ein bisschen von einer bestimmten Art von Architektur zu verwenden, die in den Projekten, die ich sowohl für mich selbst als auch für Pressware verwende, immer mehr zum Standard wird, aber ich schweife dafür ab (vielleicht gebe ich einen Einblick dazu später).

Hinzufügen eines Untermenüs

Wie auch immer, so sieht der Code zum Hinzufügen des Untermenüs aus .

Es ist genau das, was Sie erwarten würden, oder? Wenn Sie objektorientierten Code verwenden, müssen Sie möglicherweise (oder auch nicht, je nachdem, wie Sie Ihre Lösung entworfen haben) ein Array verwenden, um eine Instanz der aktuellen Klasse und ihrer Methode anzugeben.

Beachten Sie auch, dass ich mich im Zusammenhang mit diesem Beitrag nicht um die Internationalisierung kümmern werde. Es ist nicht so, dass es nicht möglich wäre; es ist nicht so, dass es nicht wichtig wäre. Es gilt, den Pfosten so schlank wie möglich zu halten.

Registrieren des JavaScripts

Ich gehe davon aus, dass sich in Ihrem Profil eine exportEmail.js – Datei befindet, und diese Datei ist für die Abfrage der Serverseite und die Rückgabe der Datei zum Herunterladen verantwortlich.

Das erste, was Sie tun müssen, ist das JavaScript auf der Serverseite sicher zu registrieren, indem Sie die Standard-API-Funktionen verwenden :

Sobald dies erledigt ist, können Sie das JavaScript schreiben, das die Serverseite aufruft. Dies ist jedoch ein zweiteiliger Schritt: Er umfasst sowohl JavaScript als auch weiteren serverseitigen Code.

Die Client-Seite ruft die Server-Seite auf

Da die Grundlagen für den serverseitigen Aufruf vorhanden sind, kann jetzt das JavaScript eingerichtet werden.

Zuerst gibt es den Click-Handler :

$('a[href="tools.php?page=acme-export-emails"]').on('click', function(evt){ evt.preventDefault(); _getEmailAddresses($(this)); });

Der anfängliche get -Aufruf sollte in etwa so aussehen :

var _getEmailAddresses = function($elem) { $.get(acme_email_export.ajax_url, { security: acme_email_export.security, action: 'getEmailAddresses' }, function(response) { if ('' === response) { return; } // TODO... }); };

Beachten Sie, dass es den Sicherheitswert verwendet, den wir zuvor erstellt haben, und dann den Namen einer anderen Funktion, nämlich getEmailAddresses, die serverseitig aufgerufen wird.

Diese Funktion ist für das Ausführen einer Abfrage, das Abrufen der E-Mail-Adressen und das Schreiben einer temporären JSON-Datei zur Rückgabe an den Benutzer verantwortlich.

1 Rufen Sie die E-Mail-Adressen der Benutzer ab

Erstens ermöglicht es WP_User_Query, alle Benutzer für bestimmte Kriterien zurückzuziehen .

Für die Zwecke dieses Beispiels gehe ich natürlich auf die Argumente ein.

2 Analysieren Sie die E-Mail aus den Ergebnissen

Als Nächstes werde ich die Ergebnisse durchlaufen und die E-Mail-Adressen in einem Array speichern (das ich schließlich in JSON konvertieren werde).

Beachten Sie, dass es andere Möglichkeiten gibt, dies zu tun. Dies ist nur eine Möglichkeit, dies für einen kleineren Datensatz zu tun, aber wenn Sie für etwas Größeres arbeiten, empfehle ich eine Alternative (die den Rahmen dieses Beitrags sprengen würde).

Als nächstes

Offensichtlich ist dies nur der erste Teil, wie man all dies verdrahtet.

Im nächsten Beitrag werde ich behandeln:

  • Konvertieren der zurückgegebenen Informationen in JSON,
  • Schreiben dieser Datei auf die Festplatte,
  • und wie man den Rest mit JavaScript zusammenbindet.

Der letzte Schritt umfasst das Erstellen eines Elements und das anschließende Auslösen seines Click-Ereignisses, sodass dem Benutzer der Download-Dialog und nicht der eigentliche Text in einem Browserfenster angezeigt wird.

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen