如果我发布这个原始请求,它会创建一个帖子:
{
"title": "Test Title",
"content": "Test Content",
}
然而,我也在尝试添加一些自定义字段值,但我似乎无法让它们工作。此请求创建帖子,但不添加任何元字段:
{
"title": "Test Title",
"content": "Test Content",
"meta": {
"foo": "bar",
"foo2": "bar2"
}
}
如何发布元字段
foo
和
foo2
bar
bar2
通过API端点
https://my-site.com/wp-json/wp/v2/posts
?
编辑:在get请求中,自定义字段似乎不会以本机方式提取。我把这段代码放在一个mu插件中:
add_filter( 'rest_prepare_post', 'xhynk_api_post_meta', 10, 3 );
function xhynk_api_post_meta( $data, $post, $context ){
$meta = get_post_custom( $post->ID );
if( $meta ) {
$data->data['meta'] = $meta;
}
return $data;
}
这至少让我可以在GET请求中查看它。然而,我似乎仍然无法通过邮递员把它寄出去。甚至添加
"status": "publish"
将导致新帖子发布,而不是默认情况下的草稿。是否有任何钩子或过滤器可以用于API POST请求,以确保添加了自定义字段?