media-store-net / wp-rest-registration
将 REST 路由注册到 WP 的简单方法
Requires
- php: >=7.3 || >=8.0
Requires (Dev)
- brain/monkey: ^2.0
- inpsyde/monkery-test-case: ^5.0
- inpsyde/php-coding-standards: ^0.13
- phpunit/phpunit: ^8.3
README
将 REST 路由注册到 WordPress 的简单方法
安装
最简单的方法是在您的项目中使用 Composer 进行安装
composer require media-store-net/wp-rest-registration:dev-master
在 Github 上下载仓库
https://github.com/media-store-net/WpRestRegistration
或克隆它git clone https://github.com/media-store-net/WpRestRegistration.git
如何使用?
首先,您需要在 functions.php 或其他包含在您的 WordPress 安装或插件文件中的文件中定义一个回调函数。
定义回调函数
-
对于 GET 请求
function myFunction(WP_REST_Request $request) { // 返回任何作为 REST 逻辑的内容 }
-
对于 POST 请求
function myPostFunction(WP_REST_Request $request) { // 使用 $request 做任何事 // 返回响应 }
使用 WpRestRegistration 类
现在您可以通过调用 WpRestRegistartion 类来注册路由
在您的 php 文件顶部
use MediaStoreNet\WpRestRegistration\WpRestRegistration as Rest
注册路由
new Rest( $Namespace, $RestName, $Callback, $Method = GET, $permission_callback='__return_true', $actionHook = 'rest_api_init' )
- GET 请求的基本用法
new Rest( 'myApp/v1', 'myRestName', 'myFunction' );
默认情况下,您可以省略 GET 端点的可选参数。要调用 RestRoute,请使用浏览器或 Postman 在 https://myPage.com/wp-json/myApp/v1/myRestName
- POST 请求的基本用法
new Rest( 'myApp/v1', 'myRestName', 'myPostFunction', 'POST' );
现在您可以使用相同的 URL,使用 POST 方法,并在请求中包含 $data
- 编辑权限
默认情况下是 $permissions_callback='__return_true',对所有请求开放。
但您可以为您的端点更改此行为
new Rest( 'myApp/v1', 'myRestName', 'myFunction', 'GET', current_user_can('manage_options') )