クエリで実行されたSQLクエリを表示する方法は?


104

使用された正確なSQLコードを表示する前に、関数に遭遇しました。たとえば、ループ内ですが、思い出せません。

誰でもその機能を教えてもらえますか?

回答:


137

こんにちは@キース・ドネガン:

私はあなたの質問を正しく理解している場合、これはあなたが探しているものだと思いますか?

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

$wp_queryは、ループによって実行される現在のクエリを含むグローバル変数です。ループがまだアクティブなときに、またはループの直後に上記のコードを実行すると、ループからSQLが得られます。query_posts()もう一度使用する他の何かを実行させる前に、必ず検査してください。


のクエリを取得するには$wpdb$GLOBALS['wpdb']->request動作していない
-mpsbhat

1
カスタムクエリでも動作します$my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web

58

に基づいてクエリを実行した場合、次のようになりますWP_Query

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


21

ループにのみ興味がある場合、これは私が通常使用するものです:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.