Bagaimana cara menampilkan query SQL yang berjalan dalam query?

104

Saya telah menemukan fungsi sebelum itu menampilkan kode SQL yang digunakan. Dalam satu lingkaran misalnya, tetapi tidak dapat mengingat.

Adakah yang bisa memberitahuku fungsi itu?

Keith Donegan
sumber

Jawaban:

137

Hai @Keith Donegan:

Jika saya memahami pertanyaan Anda dengan benar, saya pikir ini yang Anda cari?

<?php echo $GLOBALS['wp_query']->request; ?>

$wp_queryadalah variabel global yang berisi kueri saat ini dijalankan oleh loop. Jika Anda menjalankan kode di atas kapan saja ketika loop masih aktif atau bahkan tepat setelah loop itu harus memberi Anda SQL dari loop. Pastikan Anda memeriksanya sebelum membiarkan hal lain berjalan yang menggunakan query_posts()lagi.

MikeSchinkel
sumber
Bagaimana cara mendapatkan kueri $wpdb? $GLOBALS['wpdb']->requesttidak bekerja
mpsbhat
1
Bekerja bahkan pada permintaan kustom, $my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web
58

Jika Anda menjalankan kueri berdasarkan WP_Query, ini dia:

$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";
Sampai
sumber
21

Jika Anda hanya tertarik pada Loops, inilah yang biasanya saya gunakan:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
Jarang
sumber