який спосіб бачити поточний запит у wordpress?


12

Я працюю над wordpress, який є для мене новим. Зараз мені надали сайт, повністю розроблений в WP, але проблема полягає в тому, що я не в змозі шукати запит для кожної функціональності / сторінки, яку я знайшов

$wpdb->get_results

використовується для отримання результатів із бази даних, це також не працює

$wpdb->queries

Чи є можливість надрукувати кожен запит, який зараз виконується ?.

Будь ласка, допоможіть.


Ви хочете, щоб SQL-запит виконувався?
Rutwick Gangurde

Не те, щоб я не перешкоджала знайомству з внутрішніми, але це натякає на інше питання, відповідь якого була б зовсім іншою. Яку проблему ви намагаєтеся вирішити?
Annika Backstrom

Відповіді:



10

Для $wpdb->queriesроботи вам потрібно налаштувати wp-config.php:

define('SAVEQUERIES', true);

Це вкрай не рекомендується для виробництва (важкий показник продуктивності) і тому вимкнено за замовчуванням.


Це ідеальний спосіб ... +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

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


0

Не потрібно встановлювати плагін, ви можете скористатися цим:

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

Джерело: Codex


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();
?>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.