向wp_Remote_Get添加分页

时间:2018-03-13 作者:DazBaldwin

我正在为客户端构建一个插件,它需要我使用wp_remote_get 从其服务器检索记录。

我已经完成了所有的工作,但是我似乎找不到任何关于如何向远程请求添加分页的好例子。

这就是我正在做的:

$response = wp_remote_get( \'http://somedomain.com/my/api/route\' );
$body = wp_remote_retrieve_body( $response );
$decoded_body = json_decode( $body, true );
//code to loop through decoded body
我假设有这样的论点per_page 可用于调用wp_remote_get 但我试过了,就我所能看到的来看,效果并不理想。

此外,当我拥有每页的记录数时,如何实现实际的分页功能?

如果有人有这样做的经验,或者有任何与工作示例相关的链接,我将非常感谢。

1 个回复
SO网友:DazBaldwin

好的,所以我准备按照上面的@Jacob建议做,并使用offsetlimit API服务器上的子句。

然而,这看起来真的像是逻辑,应该是我正在制作的插件的一部分,而不是API查询。因此,我想我应该调查一下是否存在其他好的/可行的解决方案。

我已决定使用Dynatable Jquery Plugin. 这个插件实际上除了分页特性之外还有一整套可用的选项,包括动态搜索和表格数据排序(我希望这两个都必须手动实现)。

然而,我选择此解决方案的主要原因是易于安装。让插件正常工作(具有所有功能)所需的一切如下:

  1. wp_enqueue_scriptwp_enqueue_style 下载中包含的文件id="my-table")$(\'#my-table\').dynatable(); 在$(document).ready 呼叫
值得注意的是,该插件依赖于JQuery,当您将脚本排入队列时,应该包括这一点。您还需要(应该)使用约定在自定义脚本中声明JQuery:

(function($) {
    $(document).ready(function() {
       $(\'#my-table\').dynatable();
    });
})(jQuery);
这可确保$ 速记有效,不会干扰任何东西。

我目前正在使用默认设置。这意味着它将规范化表中的数据并将其呈现回来。由于节省了我的时间,我可能会考虑本地化脚本,并使用我的原始JSON响应。

希望这能帮助其他开发人员减少一部分工作日。

结束