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

本文由清尘发表于2019-01-24 09:23最后修改于2020-06-14属于WordPress分类

相关文章:自定义插件删除REST API输出的标题中的p标签

为了性能优化,不让列表页输出content字段(数据量太大)列表页也不需要这个字段
在详情页增加内容字段。

<?php
/*
Plugin Name: myipsfan-wp-rest
Plugin URI: http://blog.ipsfan.com
Description: 自定义REST API
Version: 1.0.1
Author: shine130
Author URI: http://blog.ipsfan.com
*/
 

//删除列表页的content字段
function ips_rest_prepare_post( $data, $post, $request ) {
  $_data = $data->data;
  $_data['excerpt']['nohtmltitle'] = wp_strip_all_tags($_data['excerpt']['rendered']);
  $params = $request->get_params();
  
  //分类21不删除content字段
  if($params['categories'][0] == 21){
    return $data;
  }

  if ( ! isset( $params['id'] ) ) {
      unset( $_data['content'] );
  }
  $data->data = $_data;
  return $data;
}
add_filter( 'rest_prepare_post', 'ips_rest_prepare_post', 10, 3 );