一直以来,都是用
global $post;
$id=$post->ID;
今天才发现,这是有问题的。
如果在page中,加一个shortcode,并且shortcode输出一个列表(比如某个分类的文章列表),那这个方法就无法得到page的ID。
就是说,如果在page中有循环,那么上边那个方法就无法获取page的ID。
列一下获取page的ID的几种方法:
1、global
受循环影响。
global $post;
$id=$post->ID;
2、get_the_ID()
受循环影响。
$postid = get_the_ID();
echo $postid;
3、get_queried_object_id()
不受循环影响。推荐。
$current_id = get_queried_object_id();
echo $current_id;
4、get_queried_object()
不受循环影响。
$object = get_queried_object();
$id = $object -> ID;
echo $id; 相关文章
观察
· 1 分钟阅读
Google AI Edge Foresight:AI产品的另一个方向?
试用Google AI Edge Foresight:转录、会议摘要都由本机AI模型完成。基于本地模型的产品,会不会成为另一个AI产品的趋势?
观察
· 1 分钟阅读
ChatGPT的28天:X上的少有的能持续的热点?
X上从来不缺热点,但能持续下去的极少。ChatGPT的28天计划每天都在制造一个新热点,把这场营销变成了一次完全可控、方法可复制的持久热点实验。
观察
· 1 分钟阅读
Gemini:王者归来?
掉队近一年的Gemini突然动作频频:Gemini 4曝光、Antigravity集成Claude 5.5、Google收紧Gemini模型权限。免费版Gemini,基本就是个强化版的搜索引擎了。