人们常常对如何从全局对象/变量获取数据感到困惑

问题:您可以通过哪些方式检查全局变量?


写此Q的原因是在华盛顿,这里经常需要它。我只是想把它作为链接到这里的最爱(人们通常不看github gist链接)。

如果有问题或您认为有误,可以随意修改示例解释缺少一些东西。如果您想添加其他有用的内容,请将每个内容添加为一个答案。谢谢。

评论

这应该是社区Wiki,或改为问题。

@ t31os你能做到吗?我什至不知道在哪里可以找到社区Wiki ...

我想我以前可以在Beta中,但现在对代表的要求更高,可能需要问一个更高的代表用户才能将该问题标记为Wiki,也许@Rarst或@MikeSchinkel可以..

@MikeSchinkel @Rarst @Jan Fabry-push

#1 楼

或者,如果您很懒,只需安装Debug Bar插件。

它会在管理栏中添加一个按钮,单击该按钮可显示一个面板,其中包含各种有用的信息,包括弃用通知, WP_Query变量和一个SQL查询日志。

评论


绝对正确。但这不会向您说明如何访问全局变量/对象以及如何从中获取零件。

– kaiser
2011-3-25在15:34

顺便说一句:您能不能简单说明一下它是如何工作的?我想这可能/确实会帮助扩展此“ how-to基础” -AQ。

– kaiser
2011年4月1日在2:19

@kaiser:完成。

–抄写员
2011年4月1日在2:45

#2 楼

如何检查数据:

使用它来洞察当前请求/ 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


顺便说一句:

    // 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.


如何实际获取数据: >示例列出所有侧边栏名称吗?
(生成一个下拉/选择对象,其中所有侧边栏都位于global $wp_registered_sidebars内)

#3 楼

根据加载脚本和呈现最终输出的过程中的某些位置,上面提到的某些变量可能不会出现。如果您想要一个相当包容的视图,也许有点极端,请尝试: br />