#1 楼
尝试global $post;
echo $post->ID;
或(我不知道区别)
global $wp_query;
echo $wp_query->post->ID;
评论
我已经尝试了所有在Google上找到的东西,但没有任何反应
–穆罕默德·肖阿布·穆尔塔扎(Muhammad Shoaib Murtaza)
2014年9月17日14:01
很难知道什么是“找到的所有东西” :)确保代码在函数中,您可以调用该函数并通过回显之前必须可见的其他内容开始调试...
– caramba
2014-09-17 14:04
我没有使用函数获取ID,“东西”是全局$ wp_query; $ thePostID = $ wp_query-> post-> ID;全球$ post; $ thePostID = $ post-> ID;全局$ wp_query; $ page = $ wp_query-> get_queried_object(); $ page_id = $ page-> ID; $ page_id = get_queried_object_id();
–穆罕默德·肖阿布·穆尔塔扎(Muhammad Shoaib Murtaza)
2014-09-17 14:09
第一个是正确的...
–穆罕默德·肖阿布·穆尔塔扎(Muhammad Shoaib Murtaza)
2014年9月17日14:39
只有在循环开始之前使用这些解决方案,它们才会为您提供页面ID。循环开始后,$ post将依次设置到循环中的每个帖子。
– s_ha_dum
15年8月19日在13:59
#2 楼
您可以轻松做到,$page_id = get_queried_object_id();
评论
这应该被标记为答案...
– Lezz
20年1月28日在9:59
同意这应该是答案。
– CJWEB
20 Mar 8 '20 at 4:44
绝对应该是正确的答案。我正在尝试获取帖子或页面的当前ID,这是它为我提供正确ID而不用硬编码条件的唯一方法。
–Felipe Rugai
20-05-22在15:38
辉煌,对我来说正确的答案
–努诺·萨门托(Nuno Sarmento)
20-11-19在22:41
#3 楼
您可以通过添加以下代码来做到这一点。它将为您提供当前页面ID。 $postid = get_the_ID();
echo $postid;
评论
get_the_ID()是一个循环函数-又名,它打算在循环内部使用。因此,它并没有真正解决“如何在循环之外获取当前页面ID?”的问题。
– s_ha_dum
15年8月19日在13:56
评论
奇怪,您如何使用代码,尝试了什么。您遇到什么错误。就目前情况而言,很难为您提供帮助,所有答案都是黑暗中的一击。请进行编辑<?php全球$ post; $ thePostID = $ post-> ID;?> <?php elseif($ thePostID == 35):?>
请使用所有其他代码/信息进行编辑。不要在问题中使用评论部分:-)
您的帖子已被自动标记为低质量,请遵守我的上述要求:-)
正如我所说,所有这些信息都应放在您的问题中,而不是在评论部分中。请编辑您的问题