我们已经制作了一个自定义api来按降序获取所有帖子, 并且我们希望在该api中添加分页功能, 我也阅读了其他问题和答案, 但是没有任何想法, 所以有人可以用一个带有分页功能的简单代码向我解释一下我可以理解它是如何工作的。
这是我的代码, 因此任何人都可以向我解释如何添加分页, 因为我也搜索了其他问题, 但我一无所知。
define('API_ENDPOINT_VERSION', 1);
//flush the rewrite rules on plugin activation
function apiendpoint_activate()
{
flush_rewrite_rules();
}
register_activation_hook(__FILE__, 'apiendpoint_activate');
function apiendpoint_register_endpoints(){
register_rest_route(
'api/v1', '/post', [
'methods' => 'GET', 'callback' =>'api_get_post', ]
);
}
add_action('rest_api_init', 'apiendpoint_register_endpoints');
function api_get_post($request){
$ar = array( 'post_type'=>'post', 'posts_per_page'=>15, 'orderby' => 'date', 'order' => 'DESC', );
$posts = get_posts($ar);
//var_dump($posts);
//exit;
$a = array();
if($posts){
foreach ($posts as $post) {
$a[]= array(
'title'=>$post->post_title, 'link'=>get_the_permalink($post->ID), 'category'=>get_the_category($post->ID), 'published_date'=>get_the_date('l, F j, Y', $post->ID), 'guid'=>$post->guid, 'image'=>get_the_post_thumbnail_url($post->ID, 'large'), 'description'=>$post->post_excerpt, 'source'=>"Nepaljapan"
//'img'=>$img
);
}
return $a;
}
}
#1
试试下面的代码:
define('API_ENDPOINT_VERSION', 1);
//flush the rewrite rules on plugin activation
function apiendpoint_activate() {
flush_rewrite_rules(); } register_activation_hook(__FILE__, 'apiendpoint_activate');
function apiendpoint_register_endpoints() {
register_rest_route(
'api/v1', '/post', [
'methods' => 'GET', 'callback' => 'api_get_post', ]
);
} add_action('rest_api_init', 'apiendpoint_register_endpoints');
function api_get_post($request) {
$ar = array('post_type' => 'posts', 'posts_per_page' => 15, 'orderby' => 'date', 'order' => 'DESC', 'paged' => ($_REQUEST['paged'] ? $_REQUEST['paged'] : 1)
);
$posts = get_posts($ar); //var_dump($posts); //exit; $a = array();
if ($posts) {
foreach($posts as $post) {
$a[] = array(
'title' => $post -> post_title, 'link' => get_the_permalink($post -> ID), 'category' => get_the_category($post -> ID), 'published_date' => get_the_date('l, F j, Y', $post -> ID), 'guid' => $post -> guid, 'image' => get_the_post_thumbnail_url($post -> ID, 'large'), 'description' => $post -> post_excerpt, 'source' => "Nepaljapan"
//'img'=>$img
);
}
return $a; }
}
调用API, 如下所示:
/ wp-json / api / v1 / post?paged = 1
将分页的值增加1以获取下一个分页信息。
希望这可以帮助!
评论前必须登录!
注册