Come visualizzare query SQL che correva nella query?
Domanda
Mi sono imbattuto in una funzione prima che visualizzato il codice esatto di SQL che è stato utilizzato. In un ciclo, ad esempio, ma non ricordo.
Qualcuno può dirmi che la funzione?
Soluzione
Ciao @Keith Donegan:
Se ho capito bene la tua domanda credo che questo è quello che stai cercando?
<?php echo $GLOBALS['wp_query']->request; ?>
$wp_query
è una variabile globale che contiene la query corrente gestito dal loop. Se si esegue il codice in qualsiasi momento al di sopra mentre il ciclo è ancora attivo o anche a destra dopo il ciclo dovrebbe dare lo SQL dal loop. Basta fare in modo di ispezionare prima di lasciare qualcosa d'altro percorso che utilizzi query_posts()
di nuovo.
Altri suggerimenti
Se è stato eseguito una query basata su WP_Query
, è questo:
$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";
Vedere questa risposta: migliore raccolta del codice per il file functions.php
Quindi aggiungere? Debug = sql a qualsiasi URL WP, e sarà in uscita l'elenco completo delle domande che sono stati eseguiti. (E sì, è spaventoso ...)
Se si è interessati solo in Loops questo è quello che di solito uso:
add_filter( 'posts_request', 'dump_request' );
function dump_request( $input ) {
var_dump($input);
return $input;
}