5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 10309|回复: 0
打印 上一主题 下一主题

[RestAPI] wordpress REST API响应体(Response)个性化定制

[复制链接]

670

主题

785

帖子

8238

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8238
跳转到指定楼层
楼主
发表于 2021-5-29 17:10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了性能优化,不让列表页输出content字段(数据量太大)列表页也不需要这个字段
在详情页增加内容字段。

  1. <?php
  2. /*
  3. Plugin Name: myipsfan-wp-rest
  4. Plugin URI: http://blog.ipsfan.com
  5. Description: 自定义REST API
  6. Version: 1.0.1
  7. Author: shine130
  8. Author URI: http://blog.ipsfan.com
  9. */
  10.   

  11. //删除列表页的content字段
  12. function ips_rest_prepare_post( $data, $post, $request ) {
  13.   $_data = $data->data;
  14.   $_data['excerpt']['nohtmltitle'] = wp_strip_all_tags($_data['excerpt']['rendered']);
  15.   $params = $request->get_params();
  16.    
  17.   //分类21不删除content字段
  18.   if($params['categories'][0] == 21){
  19.     return $data;
  20.   }

  21.   if ( ! isset( $params['id'] ) ) {
  22.       unset( $_data['content'] );
  23.   }
  24.   $data->data = $_data;
  25.   return $data;
  26. }
  27. add_filter( 'rest_prepare_post', 'ips_rest_prepare_post', 10, 3 );
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-4-28 20:24 , Processed in 0.046875 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表