GraphQL查询WordPress自定义文章类型仅返回10条结果是什么原因
问题原因
WPGraphQL 对所有内容类型的集合查询默认配置了每页10条的分页限制,未手动指定查询参数时,接口只会返回按默认排序规则取到的前10条内容,这个逻辑和WordPress后台发布的总内容数、CPT或者ACF插件的基础配置没有关系。
修复方案
给自定义文章类型的根查询字段传入first参数,指定单次查询需要返回的内容条数即可。你当前总共有17条对应内容,将参数值设为100即可覆盖当前及后续一段时间的内容增量需求。
修改后的查询代码如下:
const GET_ALL_MEDIA = gql` query MyQuery { slumpMedias(first: 100) { edges { node { title slumpMeta { image { mediaItemUrl } audio1 { mediaItemUrl } } } } pageInfo { hasNextPage endCursor } } } `;
额外注意事项
- 如果后续站点该内容类型的条目数增长到接近你设置的
first阈值,建议改用游标分页逻辑:每次查询后判断pageInfo.hasNextPage字段,若值为true,则将本次返回的pageInfo.endCursor作为下一次查询的after参数传入,逐页拉取全量内容,避免单次查询返回数据量过大拖慢接口响应速度、占用过多服务器资源。 - 不建议修改WPGraphQL全局默认分页阈值,会提升站点被恶意批量查询打垮的风险,分页参数按需在单条查询中单独设置即可。
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

