我在WordPress中创建了一个自定义的REST API端点,它返回JSON,只包含必需的字段。
因此,当我访问example.com/wp-json/wl/posts时,它返回5个帖子,因为我限制了帖子的数量。
function wl_posts() {
$args = [
'numberposts' => 99999,
'post_type' => 'post'
];
$posts = get_posts($args);
$data = [];
$i = 0;
foreach($posts as $post) {
$data[$i]['id'] = $post->ID;
$data[$i]['title'] = $post->post_title;
$data[$i]['content'] = $post->post_content;
$data[$i]['slug'] = $post->post_name;
$data[$i]['featured_image']['thumbnail'] = get_the_post_thumbnail_url($post->ID, 'thumbnail');
$i++;
}
return $data;
}
add_action('rest_api_init', function() {
register_rest_route('wl/v1', 'posts', [
'methods' => 'GET',
'callback' => 'wl_posts',
]);
});
但是我还想添加分页,所以如果我添加?page=2
,它应该会返回另外5篇文章。
怎么存档呢?
1条答案
按热度按时间alen0pnh1#
访问
/?rest_route=/
或/wp-json/wp/v2/pages
时,可以深入到ie。wp/v2/pages/endpoints/0/args
然后检查page
和per_page
发布参数参考
我们可以定义并发布这些参数。这是不需要的,但他们现在符合职位和网页
获取参数
由于
get_posts
有自己的逻辑,它最终使用WP_Query
,因此让我们使用WP_Query
更好。