如何在使用WP-API节点模块时限制返回的Wordpress REST-API字段

时间:2017-11-18 21:21:47

标签: wordpress-rest-api wp-api

如果我在浏览器中调用此Wordpress博客网址

<root...>wp-json/wp/v2/posts?per_page=5&fields=id,link,title

我收回JSON,结果仅限于3个字段

那么在使用节点js wp-api模块时该怎么办呢?

我想要类似于.fields([])的东西,但是文档中没有任何东西,在模块代码中什么都找不到。 TypeError:wpapi.posts(...)。perPage(...)。fields不是函数

或类似.filter({}) TypeError:wpapi.posts(...)。perPage(...)。filter不是函数 但我认为这可能与另一个所需的Wordpress插件有关。

        wpapi.posts()
            .perPage(5)
            .fields(['id','link','title'])
            .search( 'search-term' ) //= (search in title or content)
            .filter({
                category_name: 'islands',
                fields: [ 'id','link','title' ]
            })
            .get(function (err, data) {

.....等。

TypeError:wpapi.posts(...)。perPage(...)。fields不是函数

有人能指出我正确的方向吗?谢谢

2 个答案:

答案 0 :(得分:0)

看来wp-api节点模块不允许这样做。

所以我卸载了它,现在正在使用axios以及标准文本URL。

答案 1 :(得分:0)

这对我有用:

wpapi.posts().param('_fields', 'id,title,content').get()

node-wpapi documentation 似乎暗示 perPage() 和类似的函数是调用 param(props, value) 的便利函数。

wpapi.posts().param('_fields', ['id','title','content']).get()

似乎也有效,但第一个选项提供的结果请求 url 看起来更像 Wordpress REST API Handbook 使用的格式