Как отобразить SQL -запрос, который запускался в запросе?
Вопрос
Я наткнулся на функцию до того, как отобразил точный код SQL, который использовался. Например, в цикле, но не могу вспомнить.
Кто -нибудь может сказать мне эту функцию?
Решение
Привет @Keith Donegan:
Если я правильно понимаю ваш вопрос, я думаю, это то, что вы ищете?
<?php echo $GLOBALS['wp_query']->request; ?>
$wp_query
является глобальной переменной, которая содержит текущий запрос, заполненный циклом. Если вы запускаете приведенный выше код в любое время, пока цикл еще активен или даже сразу после цикла, он должен дать вам SQL из цикла. Просто убедитесь, что вы проверяете это, прежде чем позволить что -то еще работать, которое использует query_posts()
опять таки.
Другие советы
Если вы запустили запрос на основе WP_Query
, это так:
$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";
Смотрите этот ответ: Лучшая коллекция кода для вашего файла functions.php
Затем добавьте? DEBUG = SQL в любой URL -адрес WP, и он выведет полный список заполненных запросов. (И да, это страшно ...)
Если вы заинтересованы только в циклах, это то, что я обычно использую:
add_filter( 'posts_request', 'dump_request' );
function dump_request( $input ) {
var_dump($input);
return $input;
}