【问题标题】:Pagination with json in WordPress在 WordPress 中使用 json 进行分页
【发布时间】:2015-04-11 06:48:12
【问题描述】:

我正在尝试从分页网址获取一些 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 );
}

编辑:

print_r($vars); die;

产量:

Array ( [0] => [1] => events [2] => api [3] => getEvents ) 

使用: /api/getEvents(无分页)

【问题讨论】:

  • 不会是 $vars[6] 而不是 vars7 吗?听起来像是经典的 1 错误。
  • 试过这个:没用。我更新了问题。

标签: php json wordpress api pagination


【解决方案1】:

这看起来像是一个经典的错误,php数组从0开始,所以除非explode("/")从request_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 );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多