¿Cómo mostrar la consulta de SQL que se ejecutó en la consulta?

94

Me he encontrado con una función antes de mostrar el código SQL exacto que se usó en un bucle, por ejemplo, pero no puedo recordar.

¿Puede alguien decirme esa función?

Saludos

    
pregunta Keith Donegan 03.12.2010 - 03:12

4 respuestas

127

Hola @Keith Donegan:

Si entiendo su pregunta correctamente, creo que esto es lo que está buscando.

<?php echo $GLOBALS['wp_query']->request; ?>

$wp_query es una variable global que contiene la consulta actual ejecutada por el bucle. Si ejecuta el código anterior en cualquier momento mientras el bucle aún está activo o incluso justo después del bucle, debería proporcionarle el SQL del bucle. Solo asegúrate de inspeccionarlo antes de dejar que se ejecute otra cosa que use query_posts() otra vez.

    
respondido por el MikeSchinkel 03.12.2010 - 06:44
54

Si ejecutó una consulta basada en WP_Query , es esto:

$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";
    
respondido por el Till 13.01.2012 - 17:26
20

Si solo te interesan los bucles, esto es lo que suelo usar:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
    
respondido por el Rarst 03.12.2010 - 08:00
19

Vea esta respuesta: Best Colección de código para su archivo functions.php

Luego agregue? debug = sql a cualquier URL de WP, y se mostrará la lista completa de consultas que se ejecutaron. (Y sí, da miedo ...)

    
respondido por el Denis de Bernardy 03.12.2010 - 04:25

Lea otras preguntas en las etiquetas