Arbeiten mit benutzerdefinierten Datenbanktabellen in WordPress

Arbeiten mit benutzerdefinierten Datenbanktabellen in WordPress / Wordpress & Webentwicklung

Ich habe Ihnen viele Möglichkeiten gezeigt, in denen WordPress bereits die flexibelsten ist. CMS 5 Dinge, die Sie möglicherweise nicht mit Wordpress gekannt haben könnten 5 Dinge, die Sie möglicherweise nicht mit Wordpress gekannt haben Als das vielseitigste Blogging-System überhaupt, ist es kein Überraschung, dass die Entwickler Wordpress durch den geschickten Einsatz von Plugins zu sehr viel mehr gemacht haben. Wenn Sie dachten, dass Wordpress nur für… Read More. Ein kurzer Scan der Seite "Best of WordPress Plugins" zeigt auch einige der vielen einzigartigen Möglichkeiten, mit denen Sie Ihren Blog härter arbeiten können. Ich habe Ihnen sogar gezeigt, wie Sie benutzerdefinierte Beitragstypen verwenden können. So erstellen Sie Ihre eigenen Ereignisse mit benutzerdefinierten Beitragstypen [Wordpress] So erstellen Sie Ihre eigenen Ereignisse mit benutzerdefinierten Beitragstypen [Wordpress] Einer der Vorteile von Wordpress ist seine schiere Flexibilität. In Version 3 wurde das Konzept der benutzerdefinierten Beitragstypen eingeführt, um die integrierte Funktionalität zu erweitern. Lassen Sie uns heute einen Blick darauf werfen, was Sie tun könnten… Lesen Sie mehr, um eine eigene Mini-Datenbank zu erstellen. Erstellen Sie eine Produktprüfungsdatenbank mit Wordpress: Benutzerdefinierte Beitragstypen, benutzerdefinierte Felder, ausgewählte Bilder und Widgets! Erstellen Sie eine Produktprüfungsdatenbank mit Wordpress: Benutzerdefinierte Beitragstypen, benutzerdefinierte Felder, ausgewählte Bilder und Widgets! Letztes Mal haben wir Ihnen gezeigt, wie Sie eine einfache Ereignisliste mit der vielleicht leistungsfähigsten Funktion von WordPress 3.0 erstellen - den benutzerdefinierten Beitragstypen. Nach einigen Anfragen, dies weiterzuentwickeln, werden wir heute… Read More; aber ich habe eine Sache ausgelassen, denke ich.

Was ist, wenn Sie bereits über eine Datenbank mit beispielsweise Kundeninformationen verfügen, diese Daten jedoch abfragen und in einer WordPress-Vorlage anzeigen möchten? Heute zeige ich Ihnen, wie das geht, sicher in der WordPress-Engine.

Bedarf

  • Ihre eigene, selbst gehostete WordPress-Site.
  • Grundlegende PHP- und MySQL-Kenntnisse - Ich empfehle die Tizag-Tutorials zu PHP und MySQL, da sie mehr als genug bieten. Sie können sie an einem Tag durcharbeiten und bei Bedarf erneut referenzieren.
  • Ein vorhandener Datensatz in MySQL.
  • Befehlszeile für den Zugriff auf PHPMyAdmin zum Zusammenführen der Datenbanken.
  • Eine einzige Datenbank mit beiden Datensätzen - Dies bedeutet, dass Sie entweder Ihre WordPress-Datenbanktabellen mit einer vorhandenen Datenbank zusammenführen und ändern müssen wp-config.php um den neuen Benutzernamen und das Passwort der Datenbank anzuzeigen; oder importieren Sie ein vorhandenes Dataset in Ihre WordPress-Datenbank. Es ist einfacher, wenn Sie kein anderes System haben, das auf den Daten basiert. Wie auch immer, ich gehe davon aus, dass Sie diesen Schritt bereits getan haben - lesen Sie in meinem Artikel zur vollständigen Datenbanksicherung über eine SSH-Befehlszeile. So sichern Sie Ihre Website über die SSH-Befehlszeile. So sichern Sie Ihre Website über SSH Befehlszeile Das Sichern Ihrer Website oder Ihres Blogs kann eine teure und anstrengende Aufgabe sein, die verschiedene Plugins oder zusätzliche Pläne von Ihrem Hosting-Provider erfordert. Dies muss jedoch nicht unbedingt der Fall sein. Wenn Sie SSH haben, lesen Sie mehr, wenn Sie dort einige Hinweise benötigen.

Dieses Tutorial ist ungefähr so ​​weit fortgeschritten, wie wir es bei MakeUseOf bekommen werden, aber es sollte Ihnen eine Welt voller Möglichkeiten eröffnen.

Warum sollte ich das tun??

Trotz der vielen Plugins und Erweiterungen, die uns in WordPress zur Verfügung stehen, haben Sie manchmal bereits einen Datensatz und die Migration in ein Format, das WordPress mag, wäre umständlicher als es wert ist - vor allem, wenn Sie ein anderes System haben, mit dem Sie zusammenarbeiten können.

Heute werde ich das Beispiel einer einfachen Kundeninformationsdatenbank anführen und eine Seitenvorlage erstellen, in der diese Kunden aufgeführt sind - nur für registrierte WordPress-Benutzer (obwohl die Seite selbst über das Front-End der Site erreichbar ist ).

Als Referenz für Spalten- und Tabellennamen in der Datenbank kann es hilfreich sein, das Datenbank-Browser-Plugin zu installieren, mit dem Sie auch basic ausführen können woher und Sortieren nach Abfragen, um Ihren SQL-Code zu testen. Hier ist ein Screenshot mit einem Beispiel-Dataset, das ich erstellt habe - in diesem Fall eine Tabelle mit dem Namen Kunden, die einige grundlegende Informationen zu jedem meiner sehr wichtigen Kunden enthält.

Was genau machen wir hier??

  • Erstellen einer neuen Seitenvorlage, auf die wir benutzerdefinierten PHP-Code anwenden können.
  • Sehen Sie sich an, wie Sie eine benutzerdefinierte Abfrage für die Datenbank erstellen und die Ergebnisse dann analysieren - mithilfe der integrierten WordPress-Datenbankklassen.
  • Überprüfen Sie die Berechtigungen, falls Sie den Zugriff einschränken möchten.

Erstellen einer benutzerdefinierten Vorlage

Wenn Sie einen Teil Ihres eigenen PHP-Codes verwenden möchten, können Sie am besten eine benutzerdefinierte Vorlage erstellen und die Vorlage dann auf eine bestimmte Seite anwenden, die Sie in WordPress erstellen. Öffnen Sie zunächst Ihre Designdateien und duplizieren Sie die page.php (oder single.php wenn es keine gibt Umbenennen Sie es etwas offensichtliches, wie “template-customers.php” wie ich gewählt habe.

Ganz oben in der Datei müssen wir WordPress mitteilen, dass es sich um eine benutzerdefinierte Vorlage handelt. Tun Sie dies, indem Sie Folgendes hinzufügen (Dies ist ein Kommentar im PHP-Stil, es sollte also nach jedem öffnenden PHP-Tag sein, falls vorhanden):

/ * Name der Vorlage: Kunden * /

Natürlich nennen Sie es, wie Sie möchten.

Finden Sie jetzt die Hauptinhaltsfunktion. Sie können es löschen, wenn Sie möchten, aber ich werde nur den zusätzlichen Code danach hinzufügen. Mit dem voreingestellten elfundzwanzig Thema suchen Sie nach:

In den meisten Themen wird es jedoch so aussehen:

Dies ist das Bit, das Ihren Post-Inhalt anzeigt. Alles, was Sie danach hinzufügen, wird direkt nach dem Hauptinhaltsbereich angezeigt. Um zu überprüfen, ob alles funktioniert, fügen wir eine grundlegende Echo-Anweisung hinzu und speichern die Datei.

Bevor wir dies überprüfen können, müssen wir eine Seite auf der WordPress-Verwaltungsseite erstellen und unsere Seitenvorlage darauf anwenden.

Veröffentlichen Sie die Seite und überprüfen Sie, ob Ihre Echo-Anweisung funktioniert hat.

Die benutzerdefinierte Abfrageklasse

Um direkt auf die Datenbank zuzugreifen, müssen Sie nur das $ wpdb-Objekt verwenden, um es global zu machen. Diese drei Zeilen sollten es tun - ersetzen Sie die generische Echo-Anweisung, die wir zuvor gemacht haben, durch folgende:

get_results ("SELECT * FROM Kunden;"); print_r ($ customers); ?>

Speichern Sie die Seite und aktualisieren Sie sie. Das Funktion print_r () Es werden lediglich alle Daten aus dem Objekt des Kunden ausgegeben - Sie sollten also sehen, dass Ihre einfache SQL-Anweisung, alles aus der Kundentabelle auszuwählen, gut funktioniert hat. Jetzt müssen Sie nur noch die Ergebnisse analysieren, um etwas Nutzbares zu finden. Natürlich können Sie jede SQL-Select-Anweisung in die Ergebnisse bekommen() Methode, aber ich bin nicht hier, um Ihnen SQL beizubringen, also bleiben wir bei allem, was jetzt anfängt.

Um die Ergebnisse in etwas Sinnvolleres zu analysieren, benutze ich jetzt eine Basistabelle. Ersetze das print_r Methode mit dem folgenden Code (Keine Sorge, ich werde später den vollständigen Code einfügen, wenn Sie nicht möchten, dass Sie ihn selbst zusammenstellen.):

Echo ""; foreach ($ Kunden als $ Kunde) echo""; Echo""; Echo""; Echo""; Echo""; Echo""; Echo"
". $ customer-> name."". $ customer-> email."". $ customer-> phone."". $ customer-> address."
";

Sobald Sie jedes Kundenobjekt in einem für jeden, Sie können einfach auf die Feldnamen zugreifen $ customer-> Feldname - Einfacher geht es nicht.

Dinge sichern

In diesem Fall möchte ich nicht, dass meine Kundendaten wirklich nur von jedermann angezeigt und von den Suchmaschinen indiziert werden. Ich möchte jedoch, dass diese Daten im Frontend mit dieser Vorlage angezeigt werden. also was können wir tun? Ganz einfach, wir werden die Bedingung von WordPress nutzen is_user_logged_in (), und zeigen Sie eine kurze Nachricht an, wenn dies nicht der Fall ist. Hier ist nochmal der gesamte Code-Block mit der neuen Bedingung:

get_results ("SELECT * FROM Kunden;"); Echo ""; foreach ($ Kunden als $ Kunde) echo""; Echo""; Echo""; Echo""; Echo""; Echo""; Echo"
". $ customer-> name."". $ customer-> email."". $ customer-> phone."". $ customer-> address."
"; else: echo" Leider können nur registrierte Benutzer diese Informationen anzeigen "; endif;?>

Speichern und aktualisieren, und Sie sollten den Inhalt trotzdem sehen. Melden Sie sich jedoch ab, dann Aktualisieren Sie die Seite, und Sie sehen jetzt die “Sorry, nur registrierte Benutzer… ” Botschaft.

Wenn Sie dies auf bestimmte Benutzerebenen und nicht auf alle registrierten Benutzer beschränken möchten, verwenden Sie die current_user_can () stattdessen bedingt mit einer zugehörigen Fähigkeit (lesen Sie mehr über die Funktionen des Codex). Dies würde beispielsweise nach Admin-Benutzern suchen - den einzigen Benutzern, die Plugin-Optionen verwalten können:

current_user_can ('manage_options')

Zusammenfassung

Ich werde es heute dort belassen, da alles andere zu einer SQL werden würde. So bearbeiten Sie Tausende von Wordpress-Posts mit einem einzigen SQL-Befehl. So bearbeiten Sie Tausende von Wordpress-Posts mit einem einzigen SQL-Befehl. Das Wachsen eines Blogs dauert Jahre und eine ganze Menge von Schmerz und Kampf. Dann gibt es die wichtigsten Übergänge, wenn Sie feststellen, dass Sie einige grundlegende Änderungen vornehmen müssen, und es wird ein… Weiterlesen Tutorial oder wie Sie Ihre Ausgabe mit CSS gestalten möchten. Der Himmel ist bei WordPress wirklich die Grenze, und ich hoffe, dass dies für einige von Ihnen in Ihren WordPress-Projekten nützlich ist.

Nächste Woche beschäftige ich mich mit dem etwas heiklen Thema, wie Sie Daten mithilfe eines Formulars auf der Seite und etwas AJAX / jQuery-Magie wieder in Ihre benutzerdefinierte Datenbank einfügen.

Sie haben noch keine WordPress-Installation? Lesen Sie unsere Anleitung zum Installieren von WordPress auf Bluehost. So installieren Sie WordPress auf Bluehost. So installieren Sie WordPress auf Bluehost. Bluehost gehört zu den größten und beliebtesten Webhosting-Anbietern. Hier finden Sie eine einfache Anleitung zur Installation von WordPress auf Bluehost. Weiterlesen .

Erfahren Sie mehr über: Webmaster-Tools, Wordpress-Plugins.