Как увидеть текущий выполняющийся запрос в WordPress?

12

Я работаю над WordPress, который является новым для меня. Теперь мне предоставили сайт, полностью разработанный в wp. Но проблема в том, что я не могу найти запрос по каждой функциональности / странице, которые я нашел

$wpdb->get_results

используется для получения результата из базы данных, также это не работает

$wpdb->queries

Есть ли способ напечатать каждый выполняемый в данный момент запрос?

Пожалуйста помоги.

Sparkx
источник
Вы хотите увидеть, как выполняется SQL-запрос?
Рутвик Гангурде
Не то чтобы я не рекомендовал бы знакомиться с внутренностями, но это намекает на другой вопрос, ответ на который будет совсем другим. Какую проблему ты пытаешься решить?
Анника Бэкстрем

Ответы:

10

Для $wpdb->queriesработы необходимо настроить в wp-config.php:

define('SAVEQUERIES', true);

Это настоятельно не рекомендуется для производства (значительное снижение производительности) и поэтому отключено по умолчанию.

Rarst
источник
Это идеальный способ ... +1!
Рутвик Гангурде
6

Я часто делаю это, когда мне нужно проверить текущий запрос:

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>';
}

Чтобы показать текущий запрос, просто добавьте ?qв текущий URL.

Это покажет текущий запрос (хранящийся в глобальной переменной $ wp_query), включая запрос SQL и все другие переменные запроса.

Ань Чан
источник
0

Глобал $wp_queryсодержит все о текущем запросе, включая аргументы, результаты, содержимое результатов и сам запрос.

$wp_query->request должен сделать работу за вас здесь.

Дэвид Гард
источник
0

Вы также можете использовать плагин WPDB Profiling, который будет отображать все операторы SQL, которые были запущены для создания страницы, на которой вы сейчас находитесь, внизу страницы.

Кевин Лэнгли младший
источник
0

Вы можете использовать плагин Wp Pear Debug . Он покажет вам список запросов, выполненных на странице, количество секунд, затраченных на выполнение этих запросов, и функцию php, которая инициировала запрос. Обратите внимание, что вы должны сохранить настройки хотя бы один раз, прежде чем они начнут работать.

Гарвин
источник
0

Не нужно устанавливать плагин, вы можете использовать это:

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

Источник: Кодекс

Мигель Гарридо
источник
0
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

То есть.

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
Виджай Латия
источник