WP_POST->POST_PARENT对象返回0

时间:2014-12-13 作者:dartanian300

我正在开发一个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。有什么想法吗?

谢谢

2 个回复
SO网友:JMau

卡夫纳可能是对的,但我建议您停止使用global$post。我的意思是,这还不错,但这个大阵列经常会出现问题,几乎所有运行在wp安装上的东西都可以修改它。

所以对我来说这不太安全。我更喜欢使用get_queried_object() 它的工作原理是一样的:

$parent_ID = get_queried_object()->post_parent;
它根据当前页面检索数据。它使用全局$wp_query 相反在这里,我们试图获取post\\u parent属性,因此不要在类别页面上运行此代码,否则会收到警告。

SO网友:kraftner

我想你还没有全球化$post 使用前:

global $post
看看Codex 如果你需要更详细的信息。

结束

相关推荐

Wordpress Remove Submenus

我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&