在很多的 WordPress 主题或者插件功能的开发中,我们总是需要获取到 WordPress 给每个页面定义的 ID,不然也某些情况下是无法确定这是哪一个页面,针对于文章或者页面的 ID 获取基本可以使用 get_the_ID()这个函数来直接获取,但是在循环外该函数是无法获取到值的。
根据平时研发中遇到的问题,收集整理了几个方法...
方法一:
//文章或页面的 ID 值,如果未在循环中输出值可能不准确 $postid = get_the_ID(); echo $postid;
方法二:
//检索当前查询对象的 ID $current_id = get_queried_object_id(); echo $current_id;
方法三:
// 检索当前查询的对象,从对象中获取 ID $object = get_queried_object(); $id = $object -> ID; echo $id;
方法四:
// 通过$post 全局变量获取文章或页面 ID global $post; $id = $post -> ID; echo $id;
补充内容
// 第一种获取父级页面的 ID global $post; $id = $post -> ID; $parent = get_post_ancestors($post -> ID); print_r($parent);//打印出 Array ( [0] => 101 ) // 第二种获取父级页面的 ID global $post; $parent_id = $post -> post_parent; echo $parent_id;//打印出父级页面的 ID