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óż.


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.


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.



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.



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ć.


0

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

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

Źródło: Codex


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();
?>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.