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

ibl*_*ish 5 wordpress

为清楚起见 - 这是我在这个问题中谈论的框的图片: 邮寄父下拉列表的屏幕截图

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

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

我尝试过的:

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

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

bra*_*ilo 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;
}
Run Code Online (Sandbox Code Playgroud)

作为父母启用的草稿