一直以来,都是用
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 分钟阅读
GPT 5.6发布:Codex升级为ChatGPT
GPT 5.6 发布后,Codex 升级为 ChatGPT。记录新版客户端整合聊天记录、支持手动编辑代码,以及 Luna、Terra、Sol 三个版本的使用感受。
观察
· 1 分钟阅读
AI UI Designer:如何快速搞明白你的产品长什么样
很多人用AI UI Designer并不是在设计UI界面,而是在探索自己想要做的产品。把模糊的产品想法交给AI,让它帮你规划页面、梳理流程、生成原型,让产品从模糊变清晰。
观察
· 2 分钟阅读
从Claude Fable 5说起:自动化不等于AI Agent
通过两个实际案例,探讨自动化与AI Agent的本质区别——明确工作流用脚本,模糊步骤用Agent,优先不使用AI才是成本最优的自动化方案。