Does WP have a global of $id?

时间:2012-08-06 作者:Jenny

我正在尝试将一个对象附加到任何类型的每个帖子上。这将需要post ID来填充或创建我的对象。所以,我要么打电话global $post, or get_the_ID(), or do get_post(). 我希望有一个简单的方法来完成这项工作,我发现一个插件“wp post ratings”使用全局$id,它在循环中获取id。我想知道这是WP global,还是插件的自定义代码?

4 个回复
最合适的回答,由SO网友:jhussey 整理而成

如果您正在使用netbeans和xdebug,或者已经正确设置了调试环境,那么您可以在变量、对象e.t.c发生变化时观察它们。

要查看它们是何时创建的以及对象(如wp\\u query或wp\\u rewrite your posts)中包含的内容,请在wp blog header中调用函数wp()后设置->ID。php。

我知道你问过ID设置在哪里,但你可以使用它来查找通过单步执行wordpress环境设置的其他变量和对象。如果你在本地开发你的wordpress网站。

Netbeans Variables

SO网友:Tyrun

您可以从$post 全局使用该方法$post->ID. 这将从上一个$post 对象,因此如果您或其他东西(插件或任何东西)修改query_posts() 在您尝试获取ID之前,ID将不同。

我想说的是,如果您想确保获得实际的页面/帖子/项目id,那么$wp_query WordPress使用的类prior to all the other loops.

global $wp_query;
$thePostID = $wp_query->post->ID;

SO网友:Aras

$id是可用的全局变量之一only from inside the loop.如果你想修改每篇文章的内容,wordpress有一个钩子the_content

SO网友:amit

是的,它是一个全局变量,但只在Wordpress循环中起作用。

在环路内,$id (int) 全局设置,包含当前正在处理的帖子的ID。

参考-Codex - Inside the Loop variables

结束

相关推荐

如何用显式样式版本替换GET_TEMPLATE_PART(‘loop’,‘tag’)?

所以我的主题有一个标签。php,其中包含以下行:get_template_part(\'loop\',\'tag\');它运行循环并输出标记条目。我正在修改它以包含帖子缩略图(使用if(has\\u post\\u thumbnail()){the\\u post\\u thumbnail()}),但需要添加更多样式。为此,我需要访问get_template_part() 正在吐。我知道我应该能够通过创建自己的循环中循环标记来实现这一点。php或类似的东西,但找不到示例。有人能给我一个简单的循环标记示例吗