我正在开发一个Wordpress主题,我已经注册了一个新的菜单位置(称为主菜单),并且正在使用一个菜单。在我的菜单中,在一个名为“tier-1 page”的页面下有一个名为“tier-2 page”的页面。
我想在子页面(“tier-2页面”)上获取父页面(“tier-1页面”)的ID。我试过了$post->post_parent
, get_post()->post_parent
, get_post_ancestors($post->ID)
它们都返回0。
此时,我不知道为什么无法检索父页面的ID。有什么想法吗?
谢谢
SO网友:JMau
卡夫纳可能是对的,但我建议您停止使用global$post。我的意思是,这还不错,但这个大阵列经常会出现问题,几乎所有运行在wp安装上的东西都可以修改它。
所以对我来说这不太安全。我更喜欢使用get_queried_object()
它的工作原理是一样的:
$parent_ID = get_queried_object()->post_parent;
它根据当前页面检索数据。它使用全局
$wp_query
相反在这里,我们试图获取post\\u parent属性,因此不要在类别页面上运行此代码,否则会收到警告。