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.