쿼리에서 실행 된 SQL 쿼리를 표시하는 방법은 무엇입니까?


104

사용 된 정확한 SQL 코드를 표시하기 전에 함수를 보았습니다. 예를 들어 루프에서는 기억할 수 없습니다.

아무도 그 기능을 말해 줄 수 있습니까?

답변:


137

안녕하세요 @Keith 고 Donegan :

귀하의 질문을 올바르게 이해하면 이것이 당신이 찾고있는 것이라고 생각합니까?

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

$wp_query루프가 실행하는 현재 쿼리를 포함하는 전역 변수입니다. 루프가 여전히 활성 상태이거나 루프 바로 다음에 위의 코드를 실행하면 루프에서 SQL을 제공해야합니다. query_posts()다시 사용하는 다른 것을 실행하기 전에 검사해야 합니다.


의 쿼리를 얻는 방법 $wpdb? $GLOBALS['wpdb']->request작동하지 않음
mpsbhat

1
사용자 정의 쿼리에서도 작동합니다. $my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web

58

에 따라 쿼리를 실행 한 경우 다음과 WP_Query같습니다.

$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";


21

루프에만 관심이 있다면 이것이 일반적으로 사용하는 것입니다.

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.