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?

È stato utile?

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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top