WordPress WP_Query仅返回部分自定义类型文章问题咨询
问题描述
我尝试提取某一类型的全部文章,总数为25篇,但仅能获取到12篇。以下是我的代码:



可以看到,该脚本仅输出了WordPress后台管理面板中第2页的内容。
解决方案
- 问题核心出在分页逻辑缺失:WordPress后台文章列表、官方REST API默认都会按固定数量分页返回内容,你当前的代码仅请求了单页数据,自然只能拿到部分结果。
- 如果你是调用WordPress REST API拉取数据:在请求参数中添加
per_page=100(默认单页最大返回100条),即可一次性拉取全部25篇文章;如果文章总数超过100,再新增page参数循环遍历所有页码,直到返回结果为空即可停止。 - 如果你是直接爬取WordPress后台管理页面:后台列表的分页参数为
paged,你可以先根据总文章数计算总页码(25篇按单页12条计算共3页),循环请求paged=1、paged=2、paged=3三个页面的内容,再合并所有结果即可。 - 如果你是在WordPress环境内用WP_Query查询:将查询参数里的
posts_per_page设置为-1,即可直接返回所有符合条件的文章,不受分页限制。 - 额外注意:如果提取的是自定义文章类型,要确认对应接口的访问权限,或者爬取后台时保持登录Cookie有效,避免权限不足导致部分文章拉取失败。
内容的提问来源于stack exchange,提问作者Mihail_OLARU
相关产品推荐
相关产品推荐

