Как отобразить SQL -запрос, который запускался в запросе?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/4809

  •  16-10-2019
  •  | 
  •  

Вопрос

Я наткнулся на функцию до того, как отобразил точный код 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;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top