Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在WordPress中使用json分页_Php_Json_Wordpress_Api_Pagination - Fatal编程技术网

Php 在WordPress中使用json分页

Php 在WordPress中使用json分页,php,json,wordpress,api,pagination,Php,Json,Wordpress,Api,Pagination,我正在尝试从分页url获取一些json输出。它可以在没有分页的情况下工作,但在添加结束部分时不起作用 这可能有什么问题 if ($last_segment == 'getEvents') { $vars = explode("/", $_SERVER["REQUEST_URI"]); // /events/api/getEvents/page/1/pagesize/10 //print_r($vars); die; if (isset($vars[7])) {

我正在尝试从分页url获取一些json输出。它可以在没有分页的情况下工作,但在添加结束部分时不起作用

这可能有什么问题

if ($last_segment == 'getEvents') {
    $vars = explode("/", $_SERVER["REQUEST_URI"]);
    // /events/api/getEvents/page/1/pagesize/10
    //print_r($vars); die;
    if (isset($vars[7])) {
        $posts_per_page = $vars[7];
        $offset = ($vars[5] - 1) * $posts_per_page;
    } else {
        $posts_per_page = -1;
        $offset = 0;
    }
    getEvents($posts_per_page, $offset, isset($vars[9]) ? $vars[9] : NULL );
}
编辑:

收益率:

Array ( [0] => [1] => events [2] => api [3] => getEvents ) 
使用:
/api/getEvents
(不分页)

这看起来像是一个典型的错误,php数组从0开始,因此除非explode(“/”)从请求URI中给您一个空的第一个参数

您能否将REQUEST_URI和$VARS的值转储到您的问题以帮助调试

无论如何,我的尝试:

if ($last_segment == 'getEvents') {
    $vars = explode("/", $_SERVER["REQUEST_URI"]);
    // /events/api/getEvents/page/1/pagesize/10
    //print_r($vars); die;
    if (isset($vars[6])) {
        $posts_per_page = $vars[6];
        $offset = ($vars[4] - 1) * $posts_per_page;
    } else {
        $posts_per_page = -1;
        $offset = 0;
    }
    getEvents($posts_per_page, $offset, isset($vars[9]) ? $vars[9] : NULL );
}

不是$vars[6]而不是vars7吗?听起来像是一个典型的1次失误。尝试了这个:不起作用。我更新了问题。
if ($last_segment == 'getEvents') {
    $vars = explode("/", $_SERVER["REQUEST_URI"]);
    // /events/api/getEvents/page/1/pagesize/10
    //print_r($vars); die;
    if (isset($vars[6])) {
        $posts_per_page = $vars[6];
        $offset = ($vars[4] - 1) * $posts_per_page;
    } else {
        $posts_per_page = -1;
        $offset = 0;
    }
    getEvents($posts_per_page, $offset, isset($vars[9]) ? $vars[9] : NULL );
}