您已经在使用正确的Gutenberg/JS代码,但REST API中存在一个限制,它公开了parent
字段仅适用于分层职位类型,如page
. 但您可以通过以下方式强制该字段出现在REST API响应中register_rest_field()
— a的示例my_cpt
岗位类型:
register_rest_field( \'my_cpt\', \'parent\', array(
\'schema\' => array(
\'description\' => __( \'The ID for the parent of the post.\' ),
\'type\' => \'integer\',
\'context\' => array( \'view\', \'edit\' ),
),
) );
或者,您可以使用
rest_prepare_<post type>
hook 只需添加
parent
在回复中:
add_filter( \'rest_prepare_my_cpt\', function ( $response, $post ) {
$data = $response->get_data();
$data[\'parent\'] = $post->post_parent;
$response->set_data( $data );
return $response;
}, 10, 2 );
但如果希望允许通过REST API编辑父级,则首选第一个选项。