在没有循环的模板中获取页面ID

时间:2016-01-17 02:13:45

标签: wordpress wordpress-theming

我有一个表单,用于收集产品上的数据,然后将数据放入wp_posts表和wp_postmeta表中。我可以围绕ID构建永久链接,如果我然后对这个永久链接执行wp_redirect,WordPress应该尝试显示该页面。

该页面的模板名为listing.php,它没有循环。它的唯一目的是通过将wp_posts表和wp_postmeta表中的数据放入各种div来显示这些产品页面。但我想知道模板如何获取它正在构建的页面的ID,以便它可以访问wp_posts表和wp_postmeta表。我想做一些像$meta = get_post_meta( get_the_ID() )这样的事情,但是codex说你只能在循环中使用get_the_ID()而我没有其中之一。那我该怎么做呢?

由于

2 个答案:

答案 0 :(得分:1)

获取当前页面的页面ID的最可靠和最可靠的方法是使用og查询对象。这两个函数get_queried_object()get_queried_object_id()将保存当前页面的信息(在类别,标记,分类和作者页面上,它将分别保存当前类别,标记,术语和作者信息< / em>的)

要获取页面ID,只需使用

即可
$page_id = get_queried_object_id();
echo $page_id;

答案 1 :(得分:0)

您可以从全局$ post变量中获取帖子ID。

全球$ post; echo $ post-&gt; ID;