WP REST API v2无法使用过滤器

时间:2016-10-10 14:28:06

标签: wordpress woocommerce-rest-api

我与woocommerse用Oauth2连接。

但我不能使用过滤器,例如/wp-json/wp/v2/post&filter[category_name]=food

我获得了有关用户的信息,例如http://my-site/wp-json/wp/v2/users,但在页面上我获取了前10位用户的信息,我需要更多...当我使用过滤器时,示例:http://my-site/wp-json/wp/v2/users?filter[posts_per_page]=5 - 过滤器无法正常工作< / p>

我的代码:

require('vendor/autoload.php');
const CLIENT_ID     = 'my-ID';
const CLIENT_SECRET = 'my-secret';
const REDIRECT_URI           = 'http://wooc/test.php';
const AUTHORIZATION_ENDPOINT = 'http://my-site/oauth/authorize';
const TOKEN_ENDPOINT         = 'http://my-site/oauth/token';

$client = new OAuth2\Client(CLIENT_ID, CLIENT_SECRET);
if (!isset($_GET['code']))
{
 $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI);
header('Location: ' . $auth_url);
die('Redirect');
}
else
{
$params = array('code' => $_GET['code'], 'redirect_uri' => REDIRECT_URI);
$response = $client->getAccessToken(TOKEN_ENDPOINT, 'authorization_code',$params);
}
$client->setAccessToken("a6kpdxqqs3runou66ovzjjy54rvfubv64hhpdomn");
$data = $client->fetch("http://my-site/wp-json/wp/v2/users?filter[posts_per_page]=5");
echo "<pre>";
var_dump($data);
我不明白错误在哪里! 请帮忙。谢谢

2 个答案:

答案 0 :(得分:1)

API响应过滤功能已被更强大的查询参数所取代,例如?categories =,?slug =和?per_page =。

答案 1 :(得分:0)

在WordPress 4.7中,删除了任何后期端点的过滤器参数,过滤器参数允许使用WP_Query公共查询变量过滤帖子。此插件会恢复以前使用它的网站的过滤器参数:https://github.com/luisfredgs/rest-filter

但是,您也可以将现有代码转换为http://my-site/wp-json/wp/v2/users?filter[posts_per_page]=5

有些事情如下:

http://my-site/wp-json/wp/v2/users?posts_per_page=5

成为这个:

/255\);">([a-zA-Z]+\s+.*)<br><br>/g