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

So verbinden Sie eine andere Datenbank in WordPress

144

Vor kurzem erhielt ich eine Frage, wie ich eine weitere Datenbank mit der WordPress-Website verbinden kann. Zunächst möchte ich klarstellen, dass WordPress so aufgebaut ist, dass Sie eine beliebige Anzahl von Websites ausführen oder alle Funktionen von einer einzigen Datenbank aus verwalten können. Ich glaube, wir müssen nie mehr als eine Datenbank mit der WordPress-Website verbinden.

Aber wenn jemand nach der Lösung zum Verbinden mehrerer Datenbanken sucht, gibt es einen Hack dafür. Mit diesem Hack können Sie die Methoden der wpdb- Klasse verwenden, um die Datensätze aus einer anderen Datenbank zu holen. Dieser Hack ermöglicht es Ihnen nicht, die von WordPress bereitgestellten Kernmethoden in Ihrer zweiten Datenbank zu verwenden. Die Funktionen wie get_option(), update_option(), wp_insert_post(), get_post_meta() sind für Ihre andere Datenbank nicht zugänglich.

In diesem Fall kann der Benutzer die Daten aus Optionen holen, Tabellen mit SQL-Abfragen mit den Methoden der wpdb-Klasse posten. Diese Methoden sind get_var(), get_row(), get_col(), get_results() usw.

Verbinden Sie eine andere Datenbank in WordPress

Wenn Sie eine andere Datenbank verbinden müssen, erstellen Sie eine Instanz der wpdb-Klasse. Dadurch erhalten Sie Zugriff auf alle verfügbaren Methoden der wpdb-Klasse. Der Benutzer kann diese Klassenmethoden direkt verwenden, um mit der externen Datenbank zu interagieren.

Für den Einstieg sollten Sie über die Anmeldeinformationen einer externen Datenbank verfügen.

Wie gesagt, es muss eine Instanz der wpdb-Klasse erstellen. Diese Instanz sollte in der gesamten WordPress-Anwendung verfügbar sein. Fügen Sie dazu den folgenden Code in die functions.phpDatei ein.

function connect_another_db() {
    global $seconddb;
    $seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);
}
add_action('init', 'connect_another_db');

Achten Sie darauf, alle Platzhalter durch die tatsächlichen Werte zu ersetzen. Wenn Sie den obigen Code hinzufügen, werden Sie mit einer anderen Datenbank verbunden. Sie können diese zweite Instanz wie folgt verwenden:

global $seconddb;
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";

Beachten Sie, dass Ihr Tabellenpräfix einer anderen Datenbank mit der ursprünglichen Datenbank identisch sein muss. Wenn Ihr Tabellenpräfix anders ist, müssen Sie das Präfix explizit erwähnen, wie unten gezeigt:

global $seconddb;
$prefix = 'wp2_'; // here 'wp2' is the table prefix of second database
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $prefix"."users" );
echo "<p>User count is {$user_count}</p>";

Mit den oben genannten Hacks können Sie eine andere Datenbank verbinden und Datensätze daraus auf Ihrer WordPress-Website abrufen. Ich empfehle jedoch, nicht mehrere Datenbanken für Ihre WordPress-Website zu verwenden. Versuchen Sie, Ihr Ziel nur mit einer einzigen Datenbank zu erreichen.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

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