WordPress中如何通过post_id获取object_id及父级文章的object_id
获取WordPress当前文章父级的Object ID
其实你要的功能很容易实现——你已经通过$post->post_parent拿到了父文章的ID,这个ID本身就是父文章的object_id。在WordPress里,对于文章、页面这类内容来说,它们的ID和对应的object_id是同一个值。
如果想要更严谨地获取父文章对象并确认ID,可以用下面的代码:
global $post; $parent_id = $post->post_parent; if ( 0 != $parent_id ) { // 获取完整的父文章对象 $parent_post = get_post( $parent_id ); // 父文章的object_id就是它的ID属性 $parent_object_id = $parent_post->ID; // 后续即可使用$parent_object_id }
要是你只需要直接拿到父级的object_id,代码还能更简化:
global $post; if ( $post->post_parent !== 0 ) { $parent_object_id = $post->post_parent; }
补充一句:get_queried_object_id()返回的是当前页面查询对象的ID,比如在子文章页面它返回子文章ID;如果直接访问父文章页面,它就会返回父文章的ID。而$post->post_parent是WordPress直接存储的当前文章父级ID,完全可以直接当作父级的object_id来用。
内容的提问来源于stack exchange,提问作者samjhana joshi
相关产品推荐
相关产品推荐

