一直以来,都是用
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 分钟阅读
Gemini:王者归来?
掉队近一年的Gemini突然动作频频:Gemini 4曝光、Antigravity集成Claude 5.5、Google收紧Gemini模型权限。免费版Gemini,基本就是个强化版的搜索引擎了。
观察
· 1 分钟阅读
Token Plan:一个黑盒好生意
Token正在成为继水、电、煤、云计算之后的又一个日常用品。云厂商纷纷推出看起来很便宜的Token Plan,但真实体验下来,ChatGPT和Claude的订阅反而更划算。而且很多Token Plan是个黑盒——用积分计价,积分与token的转换系数只有厂商自己知道,还可以随意控制。
观察
· 1 分钟阅读
DeepSeek Harness不止是一个Agent
亲测DeepSeek Harness:与Claude Code对比之后,发现DeepSeek自家Agent配上自家大模型更好用。它不止是一个Agent工具,更是开源、可以完全定制化成各种专用Agent产品的平台。