收录了这篇文章
有两种方法可用于将数据添加到 WordPress REST API 的响应:
- register_rest_field 可用于向任何 RESTful API 响应添加任意字段,并可用于使用API读取和写入数据。要注册新的 RESTful API 字段,您必须提供自己的回调函数来获取或设置字段的值,并手动为字段指定自己的模式定义。
- register_meta 用于将现有的自定义元值列入白名单,以便通过REST API进行访问。通过将元字段的show_in_rest参数设置为true,该字段的值将在端点响应中的.meta键上公开,WordPress 将处理设置回调以读取和写入该元键。这比register_rest_field 简单一些。
详细文档:https://developer.wordpress.org/rest-api/extending-the-rest-api/modifying-responses/
register_rest_field
add_action('rest_api_init', function () { // ‘post’ 文章类型,也可以是其他文章类型,‘my-my_post_meta’ 是前端提交过来的数据 register_rest_field('post', 'my_post_meta', array( // 把自定义字段数据附加到 Rest API 文章接口返回的 Json 数据里 'get_callback' => function ($object) { $my_post_meta = get_post_meta($object['id'], 'my_post_meta', true); return $my_post_meta; }, // 保存数据的回调,获取前端提交过来的数据,然后保存 'update_callback' => function ($value, $post_object) { $post_id = $post_object->ID; add_post_meta($post_Id, 'my_post_meta', $value, true) or update_post_meta($post_id, 'my_post_meta', $value); return true; } )); });
register_meta
register_meta( 'post', 'oss_url', array( 'single' => true, 'type' => 'string', 'show_in_rest' => true ) );
请求数据的格式
### POST https://dev.rangtuo.com/wp-json/wp/v2/audios/162 content-type: application/json; charset=utf-8 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2OTkwMzAyNDQsImV4cCI6MTY5OTA5MDI0NCwibmJmIjoxNjk5MDMwMjQ0LCJ1c2VyX2lkIjoiMSJ9.uesgf5_cYKGXOyGmEOghsj8TiTX2Kh-npJhdR2R0rbI { "title":"一个测试用的5", "content":"这是内容", "my_post_meta":"这里是自定义字段的值" }
修改时间 2023-11-06
声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。