如何使用WordPress Rest API发布文章和设置postmeta字段信息? 要使用 WordPress Rest API 发布文章,您必须先进行身份验证。 WordPress Rest API 接收的文章字段只包含posts 数据表,不包含postmeta 数据表。 因此,要保存postmeta信息,必须添加自定义回调函数进行处理。
WordPress Rest API 发布文章
用于发布文章的 WordPress Rest API 接口比较简单。 这里简单介绍一下发表文章的流程。
请求地址:域名/wp-json/wp/v2/posts
请求参数:
- 标题(文章标题)
- 内容(文章内容)
- 其他参数
返回值:成功返回文章信息,失败返回提示信息。
WordPress Rest API 保存 postmeta
postmeta信息需要我们添加WordPress Rest API扩展,因为它没有办法处理postmeta信息。 下面提供了一段保存postmeta信息的代码,可以放在wordpress core可以加载的地方,比如主题的functions.php或者插件,或者任何参考wp-load.php
档案的地方。
add_action( 'rest_api_init', function() {// 下面一行的 ‘post’ 文章类型,也可以是其他自定义文章类型;‘metadata’ 就是我们前端提交过来的 metadata 数组register_rest_field( 'post', 'metadata', array(// 显示数据时候的回调,我们可以在这个函数里面,把自定义字段数据附加到 Rest API 文章接口返回的 Json 数据里'get_callback' => function( $object ) {return get_post_meta($object->ID);//自行修改需要返回的数据,此处是使用获取内容方法返回的内容},// 保存数据的回调,这里是保存postmeta信息的地方'update_callback' => function( $meta, $post ) {$postId = $post->ID;foreach ($meta as $data) {update_post_meta($postId, $data['key'], $data['value']);}return true;},));});
get_callback
和update_callback
我不会解释差异。通过rest_api_init
该钩子挂载了一个匿名函数,该函数定义了接收请求后的数据处理方法。