什么情况下WordPress REST API会返回空内容/摘录?

时间:2017-04-13 00:19:17

标签: wordpress wordpress-rest-api

我正在运行WordPress REST API(在WordPress 4.7.3上),当我点击/ wp-json / wp / v2 / posts我收到了我的帖子的JSON,但内容和摘录字段显示为空白 - 如下所示:

"status": "publish",
"type": "post",
"link": "https://www.example.com/myblog/blah/",
"title": {
    "rendered": "Title goes here"
},
"content": {
    "rendered": "",
    "protected": false
},
"excerpt": {
    "rendered": "",
    "protected": false
},
"author": 192,

这些帖子肯定有内容!什么可能导致内容和摘录不被API返回的想法?

2 个答案:

答案 0 :(得分:0)

尝试在此下面更改您的网址,这应该有效,否则请禁用所有已安装的插件并尝试此网址,也许插件冲突会影响内容,

在URL中添加额外的参数,

http://example.com/wp-json/wp/v2/posts?items=id,title,featured_media

答案 1 :(得分:0)

我知道这个年龄很大,但是我只是遇到了同样的问题,并且找出了原因/解决方法。

在我的情况下,摘录显示为空白,但实际上包含了一堆空白字符。使用REST-API调用渲染出来的结果只是一个空字符串。

如果我进入帖子并手动删除摘录中的所有空白字符,则该帖子将按预期开始工作。

但是,我有225个我不想手动删除空格的帖子,因此为了自动裁剪摘录中的空格(因此如果结果为空,则显示自动生成的摘录),我使用了以下代码在我主题的功能文件中(来自https://mindpalette.com/2019/03/wordpress-excerpts-empty-but-post-has-content/

// trim excerpt whitespace
if ( !function_exists( 'mp_trim_excerpt_whitespace' ) ) {
  function mp_trim_excerpt_whitespace( $excerpt ) {
    return trim( $excerpt );
  }
  add_filter( 'get_the_excerpt', 'mp_trim_excerpt_whitespace', 1 );
}