방법 : WordPress에서 전역 변수 검사


22

사람들은 종종 전역 객체 / 변수에서 데이터를 얻는 방법에 대해 혼란스러워합니다.

질문 : 전역 변수를 어떤 방법으로 검사 할 수 있습니까?


이 Q는 WA에서 자주 필요하기 때문에 작성되었습니다. 나는 단지 여기에 링크하기를 좋아하기를 원했습니다 (사람들은 종종 github 요점 링크를 보지 않습니다).

문제가 있거나 설명에 문제가 있다고 생각되면 예제를 자유롭게 수정하십시오. 다른 유용한 정보를 추가하려면 각각 하나의 답변으로 추가하십시오. 고맙습니다.


커뮤니티 위키이거나 질문으로 표현되어야합니다.
t31os

@ t31os 당신은 이것을 할 수 있었습니까? 커뮤니티 위키를 어디에서 찾을 수 있을지 모르겠습니다 ...
kaiser

나는 이전에 베타에있을 때, 지금은 아니지만, rep 요구 사항이 더 높고, 더 높은 rep 사용자에게 질문을 wiki로 표시하도록 요청해야 할 수도 있습니다. @Rarst 또는 @MikeSchinkel can ..
t31os

@MikeSchinkel @Rarst @Jan Fabry-푸시
카이저

답변:


12

또는 게으른 경우 Debug Bar 플러그인을 설치하십시오 .

클릭하면 관리자 표시 줄에 단추를 추가하여 사용 중단 알림, WP_Query 변수 및 SQL 쿼리 로그를 포함한 모든 유용한 정보가있는 패널을 표시합니다.


확실히 맞아. 그러나 전역 변수 / 객체에 액세스하는 방법과 그로부터 부품을 얻는 방법에 대해서는 설명하지 않습니다.
kaiser

Btw : 작동 방식에 대한 간단한 설명을 추가해 주시겠습니까? 나는 이것이 "기본 사용법"-AQ를 확장하는 데 실제로 도움이 될 수 있다고 생각합니다.
카이저

@kaiser : 완료
scribu

4

데이터를 검사하는 방법 :

현재 request / wp_query에서 사용할 수있는 것에 대한 통찰력을 얻으려면 이것을 사용하십시오.

function inspect_wp_query() 
{
  echo '<pre>';
    print_r($GLOBALS['wp_query'])
  echo '</pre>';
}
// If you're looking at other variables you might need to use different hooks
// this can sometimes be a little tricky.
// Take a look at the Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference
add_action( 'shutdown', 'inspect_wp_query', 999 ); // Query on public facing pages
add_action( 'admin_footer', 'inspect_wp_query', 999 ); // Query in admin UI

Btw :

    // this:
    global $wp_query;
    $wp_query;
    // is the same as
    $wp_query;
    // and as this:
    $GLOBALS['wp_query'];

// You can do this with each other global var too, like $post, etc.

실제로 데이터를 얻는 방법 :

// Example (not the best one)
(Object) WP_Query -> post (stdClass) -> postdata (Array)

// How to get the data:
// Save object into var
$my_data = new WP_Query; // on a new object
// or on the global available object from the current request
$my_data = $GLOBALS['wp_query'];

// get object/stdClass "post"
$my_post_data = $my_data->post;
// get Array
$my_post_data = $my_data['post'];


예제
모든 사이드 바 이름을 나열 하시겠습니까?
(내부의 모든 사이드 바가있는 드롭 다운 / 선택 객체 생성 global $wp_registered_sidebars)


0

스크립트를로드하고 최종 출력을 렌더링하는 프로세스에 따라 위에 언급 된 변수 중 일부가 없을 수 있습니다. 상당히 포괄적 인 관점, 아마도 약간 극단적 인 관점을 원한다면 다음을 시도하십시오.

var_dump($GLOBALS);

var_dump는 또한 데이터의 유형과 형식을 알려줍니다.

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