WordPress管理员:在页面属性父页面下拉列表中显示草稿页面

时间:2010-08-21 17:00:13

标签: wordpress

为清楚起见 - 这是我在这个问题中讨论的方框图: Screenshot of post parent dropdown list

背景:我为一个客户构建了一个相对复杂的WP站点,该站点更像是CMS而不是博客,并且依赖于正在构建的页面层次结构。 (好吧,它们实际上是'hierarchical' => true设置的自定义帖子类型)

我的问题:是否可以在页面属性“父页面”下拉列表中显示草稿(或待审核)页面?如果没有这个,这意味着在整个部分准备就绪之前让每个页面都生效 - 这不是一个合适的解决方案。

我尝试了什么:

  • 寻找一个被调用来构建列表的动作(找不到一个)
  • 查看创建列表的源代码(使用wp_dropdown_pages构建,但似乎不允许您选择帖子状态)
  • 寻找提供此功能的插件

有什么建议吗?如果最坏的情况发生,那么我想我将不得不破解WP核心 - 但这显然远非理想,我绝对不想这样做!

1 个答案:

答案 0 :(得分:6)

非常好的问题!

以下是这样做的。一个过滤器用于编辑页面屏幕,另一个用于快速编辑菜单 使用分层自定义帖子类型进行测试。

add_filter( 'page_attributes_dropdown_pages_args', 'so_3538267_enable_drafts_parents' );
add_filter( 'quick_edit_dropdown_pages_args', 'so_3538267_enable_drafts_parents' );

function so_3538267_enable_drafts_parents( $args )
{
    $args['post_status'] = 'draft,publish,pending';
    return $args;
}

drafts enabled as parents