在很多的 WordPress 主题或者插件功能的开发中,我们总是需要获取到 WordPress 给每个页面定义的 ID,不然也某些情况下是无法确定这是哪一个页面,针对于文章或者页面的 ID 获取基本可以使用 get_the_ID()这个函数来直接获取,但是在循环外该函数是无法获取到值的。
那么下面就根据在原作者在 Fanly MIP 主题开发中遇到的情况下,收集整理了几个方法:
方法一:
//文章或页面的 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
其实究竟要怎么去获取还是需要根据实际的开发情况而确定,文章或页面或者循环中可以使用 get_the_ID 函数直接获取,如果需要某些特殊或者 get_the_ID 获取不正确的时候,子凡觉得使用 get_queried_object_id 函数也就足够了,至于其它的方法大家自己研究吧!