jaki jest sposób, aby zobaczyć aktualnie wykonywane zapytanie w wordpress?

12

Pracuję nad WordPress, który jest dla mnie nowy Teraz otrzymałem witrynę całkowicie zaprojektowaną w WP Ale problem polega na tym, że nie jestem w stanie wyszukać zapytania dla każdej znalezionej funkcjonalności / strony

$wpdb->get_results

używane do uzyskania wyniku z bazy danych również to nie działa

$wpdb->queries

Czy istnieje sposób wydrukowania każdego aktualnie wykonywanego zapytania ?.

Proszę pomóż.

Sparkx
źródło
Czy chcesz, aby zapytanie SQL było wykonywane?
Rutwick Gangurde
Nie dlatego, że zniechęcałbym do poznania wewnętrznych, ale to sugeruje inne pytanie, na które odpowiedź byłaby zupełnie inna. Jaki problem próbujesz rozwiązać?
Annika Backstrom

Odpowiedzi:

10

Do $wpdb->queriespracy musisz skonfigurować w wp-config.php:

define('SAVEQUERIES', true);

Jest to wysoce niezalecane w przypadku produkcji (duża wydajność) i dlatego jest domyślnie wyłączone.

Rarst
źródło
To idealny sposób ... +1!
Rutwick Gangurde
6

Często robię to, gdy muszę sprawdzić bieżące zapytanie:

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

Aby wyświetlić bieżące zapytanie, po prostu dodaj ?qdo bieżącego adresu URL.

Spowoduje to wyświetlenie bieżącego zapytania (przechowywanego w zmiennej globalnej $ wp_query), w tym zapytania SQL i wszystkich innych zmiennych zapytania.

Anh Tran
źródło
0

Globalny $wp_queryzawiera wszystko o bieżącym zapytaniu, w tym argumenty, wyniki, zawartość wyników i samo zapytanie.

$wp_query->request powinien wykonać dla ciebie pracę tutaj.

David Gard
źródło
0

Możesz także użyć wtyczki profilowania WPDB , która wyświetli wszystkie instrukcje SQL, które zostały uruchomione w celu wygenerowania strony, na której aktualnie jesteś, na dole strony.

Kevin Langley Jr.
źródło
0

Możesz użyć wtyczki Wp Pear Debug . Wyświetli listę zapytań wykonanych na stronie, liczbę sekund potrzebnych do wykonania zapytań oraz funkcję php, która zainicjowała zapytanie. Pamiętaj, że musisz zapisać ustawienia co najmniej raz, zanim zacznie działać.

Garvin
źródło
0

Nie musisz instalować żadnych wtyczek, możesz użyć tego:

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

Źródło: Codex

Miguel Garrido
źródło
0
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

To znaczy.

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
Vijay Lathiya
źródło