使用REST API如何拉取所有定制帖子?

时间:2019-01-18 作者:user9664977

我想做的是收回所有自定义帖子类型的帖子。我知道,使用WordPress REST API,您可以将per\\u page=100添加到REST API的末尾,以收回100篇文章,但我需要一种从自定义文章类型中收回所有文章的方法。

在做了一些研究之后,我发现了以下功能:

function rest_posts_per_page( $args, $request ) {
    $max = max( (int)$request->get_param( \'per_page\' ), 1000 );
    $args[\'posts_per_page\'] = $max;
    return $args;
}
add_filter( \'rest_post_query\', \'rest_posts_per_page\', 10, 2 );
默认情况下,它将从REST API回调的帖子数量切换为1000。

这对默认帖子很有用,但我也需要它来处理自定义帖子类型,因为上面的函数似乎只适用于默认帖子。因此,我想弄清楚的是,上述函数如何使用自定义帖子类型而不是默认帖子。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

过滤器为dynamic, i、 e.产生于rest_{$post_type}_query.

所以对于post post类型是rest_post_query 对于cpt post类型是rest_cpt_query

请注意,REST分页可用:

https://example.com/wp-json/wp/v2/posts?per_page=100&page=1
https://example.com/wp-json/wp/v2/posts?per_page=100&page=2
...
最大值为per_page 是为了减少在获取太多项目时超出可用资源时发生致命错误的风险。

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果