经典编辑器
您可以使用过滤器挂钩
page_attributes_dropdown_pages_args
和设置
authors
查询参数中的参数。
add_filter( \'page_attributes_dropdown_pages_args\', \'se343814_own_post_as_post_parent\', 10, 2 );
function se343814_change_post_type_args( $dropdown_args, $post )
{
//
// for which types to apply the filter
if ( $post->post_type != \'page\' )
return $dropdown_args;
$dropdown_args[\'authors\'] = get_current_user_id();
return $dropdown_args;
}
如果是块编辑器,上述解决方案将不起作用。可以设置为父级的帖子列表由REST请求检索,其中
context
参数设置为
edit
.我不知道在初始化编辑器时是否可以更改请求数据,可能没有这样的过滤器。
但是,您可以使用rest_{$post_type}_query
过滤器与context
这是在请求中设置的。
add_filter( \'rest_page_query\', \'se343814_rest_own_post_as_post_parent\' , 10, 2 );
function se343814_rest_query_page_parent( $args, $request )
{
//
// apply filter only when editing the post
if ( ! isset($request[\'context\']) || $request[\'context\'] != \'edit\' )
return $args;
if ( empty($args[\'author\']) )
$args[\'author\'] = get_current_user_id();
return $args;
}