WordPress Rest API发布文章并设置postmeta字段信息

如何使用WordPress Rest API发布文章并设置postmeta字段信息?要使用WordPress Rest API发布文章必须先鉴权,WordPress Rest API接收的文章字段仅包含posts数据表,不包含postmeta数据表,所以要保存postmeta信息,必须添加自定义回调函数处理。

WordPress Rest API发布文章

WordPress Rest API发布文章的接口比较简单,这里简单介绍下发布文章过程。

请求地址:域名/wp-json/wp/v2/posts

请求参数:

  • title(文章标题)
  • content(文章内容)
  • 其它参数

返回值:成功返回文章信息,失败返回提示信息。

WordPress Rest API保存postmeta

postmeta信息需要我们添加WordPress Rest API扩展程序,因为它没有对postmeta信息的处理办法。下面提供一段保存postmeta信息的代码,放在能被wordpress核心加载的地方就行了,比如主题的functions.php或者插件中,或者任何在引用了wp-load.php文件的地方。

add_action( 'rest_api_init', function() {
        // 下面一行的 ‘post’ 文章类型,也可以是其他自定义文章类型;‘metadata’ 就是我们前端提交过来的 metadata 数组
        $field = 'metadata';
        register_rest_field( 'post', $field, array(
            // 显示数据时候的回调,我们可以在这个函数里面,把自定义字段数据附加到 Rest API 文章接口返回的 Json 数据里
            'get_callback' => function( $object ) use ( $field ) {
                return get_post_meta($object->ID,$field,true);//自行修改需要返回的数据,此处是使用获取内容方法返回的内容
            },
            // 保存数据的回调,这里是保存postmeta信息的地方
            'update_callback' => function ( $value, $object ) use ( $field ) {
                update_post_meta( $object->ID, $field, $value );
                return true;
            }
        },
    ));
});

get_callback与update_callback的区别我就不解释了。通过rest_api_init钩子挂载了一个匿名函数,定义了接收到请求后的数据处理方式。

参考地址:https://developer.wordpress.org/reference/functions/register_rest_field/

上一篇

wordpress实现不同分类设置不同的每页显示文章数量

下一篇

WordPress函数:add_menu_page()后台添加子菜单
相关推荐
WordPress类:如何使用WP_REST_Response类的方法set_headers设置响应头
WordPress 多种方法自动加载页面模板
wordpress实现不同分类设置不同的每页显示文章数量
WordPress 调试与优化显示页面每条的查询时间和查询SQL语句
WordPress类:使用WP List Table类制做后台列表
WordPress Rest API发布文章并设置postmeta字段信息
评论(1)
游客的头像
表情
全部评论 只看作者
最新热门
  1. 丸辣的头像

    哔哩_冷

    1 回复
    作者觉得很赞