angelxmoreno / wprestclient
WPRestClient 是一个用于通过 RESTful API 无缝交互 WordPress 网站的 PHP 库
v1.2.1
2024-07-22 15:32 UTC
Requires
- php: ^7.4
- ext-json: *
- cakephp/collection: ^4.4
- cakephp/utility: ^4.4
- guzzlehttp/guzzle: ^7.7
Requires (Dev)
- kahlan/kahlan: ^5.2
- phpmd/phpmd: ^2.13
- squizlabs/php_codesniffer: ^3.7
README
PHP WordPress API 客户端
WPRestClient 是一个用于通过 WordPress RESTful API 无缝与 WordPress 网站交互的 PHP 库,简化了认证、数据检索和内容管理任务
功能
- 通过 REST API 认证方法连接到 WordPress 网站并认证。
- 检索帖子、页面、自定义帖子类型、分类、标签和其他 WordPress 实体。
- 创建、更新和删除帖子和页面。
- 利用 WordPress RESTful API 的功能进行高级查询和过滤响应。
- 使用 APIClient 进行低级别调用
- 使用 存储库 获得WordPress 实体对象
- 可配置的 API 前缀
- 创建自定义实体 或扩展现有的实体
- 为任何端点创建自定义存储库
要求
PHP 7.4+
安装
您可以通过 Composer 安装 WPRestClient。在您的项目目录中运行以下命令
composer require angelxmoreno/wprestclient
使用方法
-
创建 WPRestClient 的新实例
use WPRestClient\Core\ApiClient; $client = new ApiClient('https://example.com');
-
通过客户端检索帖子原始数组
$posts = $client->sendRequest('get','/posts'); foreach ($posts as $post) { echo $post['title']['rendered']; }
-
通过
PostsRepository
检索PostEntity
对象数组use WPRestClient\Repository\PostsRepositor; PostsRepository::setApiClient($client); $posts = PostsRepository::fetch(); foreach ($posts as $post) { echo $post->getTitle(); }
-
使用
RepositoryRegistry
通过PagesRepository
创建新的页面:通过创建RepositoryRegistry
的实例,您就可以访问所有已注册的存储库,并且ApiClient
已经设置好了。use WPRestClient\Repository\PagesRepository; use WPRestClient\Core\RepositoryRegistry; use WPRestClient\Entity\PageEntity; $registry = new RepositoryRegistry($client); $page = new PageEntity(['title' => 'A New Page']); $registry->pages()->create($page);
-
使用
RepositoryRegistry
通过PostsRepository
删除帖子use WPRestClient\Repository\PagesRepository; use WPRestClient\Core\RepositoryRegistry; use WPRestClient\Entity\PageEntity; $registry = new RepositoryRegistry($client); $post = $registry->posts()->get(123); $registry->posts()->delete($post);
有关更详细的用法示例和可用方法,请参阅 文档。
贡献
欢迎贡献!如果您发现错误,有改进建议,或想添加新功能,请提交问题或拉取请求。请确保遵循我们的 贡献指南
许可证
WPRestClient 是在 MIT 许可证 下许可的开源软件
联系
如有任何问题或查询,请联系 WPRestClient@gmail.com
支持
有关错误和功能请求,请使用此存储库的 问题 部分。