Wie wird die aktuell ausgeführte Abfrage in WordPress angezeigt?

12

Ich arbeite an WordPress, das für mich neu ist. Jetzt wurde mir eine Website bereitgestellt, die vollständig in wp gestaltet wurde. Das Problem ist jedoch, dass ich die Abfrage nicht für jede gefundene Funktionalität / Seite durchsuchen kann

$wpdb->get_results

Wird verwendet, um das Ergebnis aus der Datenbank abzurufen. Auch dies funktioniert nicht

$wpdb->queries

Gibt es eine Möglichkeit, jede aktuell ausgeführte Abfrage zu drucken?

Bitte helfen Sie.

Sparkx
quelle
Möchten Sie sehen, dass die SQL-Abfrage ausgeführt wird?
Rutwick Gangurde
Nicht, dass ich davon abhalten würde, die Interna kennenzulernen, aber dies deutet auf eine andere Frage hin, deren Antwort sehr unterschiedlich wäre. Welches Problem versuchen Sie zu lösen?
Annika Backstrom

Antworten:

10

Damit $wpdb->queriesSie arbeiten können, müssen Sie Folgendes konfigurieren wp-config.php:

define('SAVEQUERIES', true);

Dies wird für die Produktion dringend empfohlen (starker Leistungseinbruch) und daher standardmäßig deaktiviert.

Selten
quelle
Dies ist der perfekte Weg ... +1!
Rutwick Gangurde
6

Ich mache das oft, wenn ich die aktuelle Abfrage überprüfen muss:

add_action( 'wp_head', 'show_current_query' );

function show_current_query() {
    global $wp_query;

    if ( !isset( $_GET['q'] ) )
        return;
    echo '<textarea cols="50" rows="10">';
    print_r( $wp_query );
    echo '</textarea>';
}

Um die aktuelle Abfrage anzuzeigen, fügen Sie einfach ?qdie aktuelle URL hinzu.

Dies zeigt die aktuelle Abfrage (gespeichert in der globalen Variablen $ wp_query), einschließlich der SQL-Abfrage und aller anderen Abfragevariablen.

Anh Tran
quelle
1

Ich bevorzuge Debug Bar .

Screenshot der Debug-Leiste unter WordPress 3.2.1

Annika Backstrom
quelle
0

Das Global $wp_queryenthält alles über die aktuelle Abfrage, einschließlich der Argumente, Ergebnisse, des Inhalts der Ergebnisse und der Abfrage selbst.

$wp_query->request sollte hier den Job für dich machen.

David Gard
quelle
0

Sie können auch das WPDB-Profiling-Plugin verwenden , das alle SQL-Anweisungen anzeigt, die ausgeführt wurden, um die Seite zu generieren, auf der Sie sich gerade befinden, unten auf der Seite.

Kevin Langley Jr.
quelle
0

Sie können das Wp Pear Debug Plugin verwenden. Es zeigt Ihnen eine Liste der auf der Seite ausgeführten Abfragen, die Anzahl der Sekunden, die diese Abfragen für die Ausführung benötigt haben, und die PHP-Funktion, die die Abfrage initiiert hat. Bitte beachten Sie, dass Sie die Einstellungen mindestens einmal speichern müssen, bevor sie funktionieren.

Garvin
quelle
0

Sie müssen kein Plugin installieren, Sie können dies verwenden:

$queried_object = get_queried_object();
var_dump( $queried_object );

Quelle: Codex

Miguel Garrido
quelle
0
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

Dh.

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
Vijay Lathiya
quelle