我们有几种帖子类型,它们不直接支持作者。相反,我们有用于选择作者的自定义接口。
不过,我们最终得到了一个作者ID,所以我想将该作者ID注入该自定义帖子类型的REST数据中。
我试过这个:
add_filter( \'rest_post_dispatch\', function( $results ) {
$result->add_link( \'author\', rest_url( \'/wp/v2/users/42\' ), array( \'embeddable\' => true ) );
return $results;
});
…但这会返回整个响应上的链接(例如,一组10个自定义帖子)--我希望能够为每个帖子添加一个带有该帖子自己用户ID的链接。
这可能吗?我在任何地方都找不到文档--我找到的最好的文档是Linking.
最合适的回答,由SO网友:Nabha 整理而成
我发现了如何获取每个结果并添加链接。对于ananda_video_audio
岗位类型:
add_filter( \'rest_prepare_ananda_video_audio\', function( $results ) {
// These two lines are unique to our code of course
$video = new Ananda_Video_Audio( $results->data[\'id\'] );
$authors = $video->get_author_IDs();
foreach( $authors as $author_id ) {
$results->add_link( \'author\', rest_url( \'/wp/v2/users/\' . $author_id ), array( \'embeddable\' => true ) );
}
return $results;
});
由于Embeddeble设置为true,因此在响应中,作者数据也将全部添加到\\u embedded中。效果很好。
如果您正在做类似的事情,我发现链接很有用: