metaline / wp-api-client
基于 Guzzle 的 WordPress REST API 的 PHP 客户端。
dev-main
2024-03-28 15:12 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- psr/log: ^1.0 || ^2.0 || ^3.0
Requires (Dev)
- jeroen/psr-log-test-doubles: ^2.2 || ^3.2
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-25 08:10:30 UTC
README
基于 Guzzle 的 WordPress REST API 的 PHP 客户端。
安装
推荐通过 Composer 安装此库。
composer require metaline/wp-api-client
文档
创建客户端
您可以通过 ClientFactory
创建客户端实例。目前,仅支持 WooCommerce 凭据。
use MetaLine\WordPressAPIClient\ClientFactory; $factory = new ClientFactory(); $client = $factory->createFromWooCommerceCredentials( $customerKey, $customerSecret, $apiUrl );
如果您需要通过 WooCommerce API 凭据访问 WordPress REST API,您需要在您的 WordPress 安装中添加此钩子
add_filter('woocommerce_rest_is_request_to_rest_api', function ($enabled) { if (!$enabled) { $rest_prefix = trailingslashit(rest_get_url_prefix()); $request_uri = esc_url_raw(wp_unslash($_SERVER['REQUEST_URI'])); $enabled = false !== strpos($request_uri, $rest_prefix . 'wp/'); } return $enabled; });
从 REST API 获取数据
通过客户端实例,您可以从 WordPress REST API 获取数据。例如
$customers = $client->request('GET', 'wc/v3/customers');
请参阅 WordPress 和 WooCommerce REST API 文档,了解所有可用方法。
辅助方法
客户端有五个辅助方法,分别对应 REST 动词:get()
、post()
、put()
、patch()
和 delete()
。
$uri
是调用端点;$query
是要放入查询字符串的变量数组;$params
是要放入请求体的数据数组;
上传文件
特殊案例是 媒体 端点,允许我们上传文件
$data = [ 'file' => new SplFileObject('/path/to/file.zip'), ]; $client->post('wp/v2/media', $data);
许可证
本项目根据 MIT 许可证(MIT)提供。有关更多信息,请参阅 许可证文件。