如何在循环外获取当前页面ID?


36

如何在循环外获取当前页面ID?


3
奇怪,您如何使用代码,尝试了什么。您遇到什么错误。就目前情况而言,很难为您提供帮助,所有答案都是黑暗中的一击。请提交修改
Pieter Goosen

<?php global $post; $thePostID=$post->ID;?> <?php elseif($thePostID==35) : ?>
Muhammad Shoaib Murtaza 2014年

3
请使用所有其他代码/信息进行编辑。不要在问题中使用评论部分:-)
Pieter Goosen 2014年

您的帖子已被自动标记为低质量,请遵守我的上述要求:-)
Pieter Goosen 2014年

1
正如我所说,所有这些信息都应放在您的问题中,而不是在评论部分。请编辑您的问题
Pieter Goosen 2014年

Answers:


56

尝试

global $post;
echo $post->ID;

(我不知道区别)

global $wp_query;
echo $wp_query->post->ID;

我已经尝试了所有在Google上发现的内容,但没有任何反应
Muhammad Shoaib Murtaza 2014年

很难知道什么是“找到的所有东西” :)确保代码在函数中,您可以调用该函数并通过回显必须在其之前可见的其他东西开始调试...
caramba

2
我没有使用功能获取ID,“资料”是global $wp_query; $thePostID = $wp_query->post->ID; global $post; $thePostID = $post->ID; global $wp_query; $page = $wp_query->get_queried_object(); $page_id = $page->ID; $page_id = get_queried_object_id();
Muhammad Shoaib Murtaza 2014年

第一个是正确的...
Muhammad Shoaib Murtaza 2014年

1
只有在循环开始之前使用这些解决方案,它们才会为您提供页面ID。循环开始后,$post将依次设置到循环中的每个帖子。
s_ha_dum 2015年


-7

您可以通过添加以下代码来做到这一点。它将为您提供当前页面ID。

 $postid = get_the_ID();
 echo $postid;

9
get_the_ID()是一个循环功能-又名是要在循环内部使用。因此,它并没有真正解决“如何在循环之外获取当前页面ID?”的问题。
s_ha_dum 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.