it-swarm.com.de

Zeigen Sie Daten auf Wordpress-Site-Posts und Seiten aus der MySQL-Tabelle an

Ich bin neu in WordPress und habe eine Tabelle in phpmyadmin, die die Daten enthält, die ich auf meiner WordPress-Site auf verschiedenen Posts und Seiten anzeigen möchte. Ich habe viel gesucht und mir ein Plugin mit dem Namen Allow PHP in Post and Pages ausgedacht. Mit diesem Plugin können Sie PHP-Skripte in Posts und Seiten schreiben. Ich habe einen kleinen Code in meinem Seitenbeitrag ausprobiert, aber er zeigt nur Resource id #147 an, aber nicht das gewünschte Ergebnis. Dies ist der Code, den ich in einem meiner Beiträge ausprobiert habe.

[php]
$connect = mysql_connect("localhost", "root", "");
mysql_select_db("ahadith");
$query = mysql_query("SELECT * FROM muslim");
echo ($query);
[/php]

Gibt es jemanden, der mir dabei helfen kann? Oder gibt es eine andere Möglichkeit, wie ich die gewünschten Daten aus meiner Datenbank abrufen und auf meiner Word-Presseseite anzeigen kann. Vielen Dank.

1
Salik Asad

Vergessen Sie die Verbindung zu Ihrer Datenbank, während WordPress bereit und standardmäßig verbunden ist. Suchen Sie nach der Klasse wpdb für DB-spezifische Aufgaben.

Rufen Sie zunächst die globale Variable $wpdb auf, bei der es sich um die DB-Klasse handelt, und verwenden Sie dann einige Methoden, um Ihre spezifische benutzerdefinierte Tabelle abzufragen.

Nicht sicher über die Tabellenstruktur? Beschreibe es zuerst:

global $wpdb;
$table = $wpdb->prefix . "muslim";
$query = $wpdb->get_results( "DESCRIBE $table" );
echo var_dump ( $query );

Wählen Sie nun die Ergebnisse aus dieser Tabelle aus:

global $wpdb;
$table = $wpdb->prefix . "muslim";
$results = $wpdb->get_results( "SELECT * FROM $table" );
echo var_dump ( $results );

Ich gehe davon aus, dass die Tabelle muslim dort fertig ist und korrekt hinzugefügt wurde. Recht?

Angenommen, Sie haben Ergebnisse aus der vorherigen Optimierung erhalten. Sie können diese nur mit einer geeigneten Schleife durchlaufen.

Sie können dies in einem benutzerdefinierten Shortcode speichern, der wie angegeben in Posts/Seiten verwendet werden soll. Lesen Sie in der API nach, wie Shortcodes funktionieren

add_shortcode('wpse_233021_shortcode', function(){
    global $wpdb;
    $table = $wpdb->prefix . "muslim";
    $results = $wpdb->get_results( "SELECT * FROM $table" );
    ob_start();
    echo var_dump( $results );
    return ob_get_clean(); // or iterate through and put into an HTML table
});

Jetzt gibt es diesen [wpse_233021_shortcode], den Sie in Seiten-/Post-Inhalte einfügen können.

Angenommen, es hat funktioniert, rufen Sie Ihre Datenbank nicht immer auf, wenn dies nicht erforderlich ist. Versuchen Sie daher, Daten zwischenzuspeichern und den Cache nach der Datenaktualisierung zu zerstören, oder lassen Sie Transienten mit einer bestimmten Verzögerung ablaufen. Möglicherweise können Sie 1 Woche lang die Transients-API verwenden für das Caching ist es sehr klar und einfach und ziemlich effektiv für das nicht persistente Caching

1
Samuel Elh