Wordpress REST API - 仅为我提取的数据而不是整个网站更改摘录长度

时间:2017-06-28 13:36:13

标签: php wordpress rest api

我正在使用PHP从使用REST API的WP站点中提取帖子,它为您提供了使用完整内容和摘录的两种选择。虽然摘录的内容太短,不适合我使用它。我也不想改变全局摘录长度,仅针对使用REST API的这个项目。无论如何通过REST API改变摘录长度而不影响网站的其他部分?

我唯一能想到的是在从REST API中提取数据并创建自己的数据时,通过小脚本截断完整内容"阅读更多"链接使用可访问的其他变量,如source_url。

我是wordpress中REST API的新手,但我在官方文档中看不到与之相关的任何内容,所以不确定某人是否知道一个好的伎俩,或者我是不是只需要去手动路线。谢谢!

1 个答案:

答案 0 :(得分:0)

摘录长度仅用于限制模板中输出的长度。因此,您应该在WordPress模板中处理它的长度,更具体地说,在functions.php而不是在REST API中。

有关详细信息,请参阅此处: http://smallenvelop.com/limit-post-excerpt-length-in-wordpress/

遗憾的是,由于摘录与您的WordPress网站密切相关,因此无法为您的提取请求设置摘录长度,例如$api-getposts(300)或类似内容。

但是,您可以在WP站点上注册一个api-callback,它会将摘录设置为更高的值,提取数据并重置它。

https://codex.wordpress.org/Plugin_API/Filter_Reference/excerpt_length

只需将此功能包装在register_rest_route

所以你的请求看起来像这样

$api->setExcerpt(300);
$api->getData();
$api->setExcerpt(100);