现在我们要去修改一下 WordPress REST 接口 .. 在项目里面把 WordPress 网站项目添加进来 .. 然后在 site .. web .. app .. plugins 的下面去创建一个自定义的插件 .. 这里我修改了 WordPress 项目的结构,所以插件是在这个目录的下面 ..
一般的 WordPress 项目的插件是在 wp-content .. plugins 这个目录的下面 ..
创建一个 php 文件,放在 ninghao-wp-rest 这个目录的下面 .. 文件的名字是 ninghao-wp-rest.php
里面先添加插件的一些注释 .. 一个 php 开始标记 .. 一段注释 .. Plugin Name 是插件的名字 .. Ninghao WP REST
Description ,插件的描述 .. WP REST API Alter
Author 是作者的名字 .. wanghao .. Version 是版本 .. 1.0.0 .. Author URI 是作者的地址 .. https://ninghao.net ..
然后回到 WordPress 的管理后台 .. 打开 插件 .. 这里会有一个 Ninghao WP REST 插件 .. 启用一下这个插件 ..
rest_prepare_post
下面我们要在文章列表接口里面添加一个新的属性 .. 先添加一个自定义的函数 .. 名字可以是 ninghao_wp_rest_field_alter .. 三个参数 .. $data, $post, 还有一个 $context ..
接口返回的数据是 $data .. 设置一下它下面的 data 属性 .. 在它的 excerpt 的下面,添加一个新的字段 .. 名字可能是 plaintext ... 这个属性的值是就是去掉 html 标记之后的文章的摘要内容 ..
这里我们可以用一下 WordPress 提供的 wp_strip_all_tags 函数 .. 处理一下 $data->data['excerpt']['rendered'] 的值 ..
最后再 return 这个 $data ..
然后去把这个函数挂载到 rest_prepare_post 上面 .. add_filter .. 挂载到 rest_prepare_post .. 函数的名字是 ninghao_wp_rest_field_alter .. 10, 3 ..
使用
再回到小程序开发者工具 .. 刷新一下 .. 打开一个响应回来的数据列表里面的其中的一个 .. 在 excerpt 下面,现在多了一个 plaintext,它的值里面不会包含 html 标签 ..
再回到首页视图文件 .. 把绑定输出的摘要内容,换成 item.excerpt.plaintext ..
现在,首页内容列表上显示的摘要内容里面就不会包含 html 标签了 ...