这是我的自定义终点,但提示 “找不到与URL和请求方法匹配的路由” 我在主题文件夹中添加了function.php文件。 当我将方法“ POST”更改为“ GET”时,它对于get方法工作正常 .htaccess文件可以安装任何其他未安装的插件,如安全性或其他rest api插件 只有“ WP REST API插件”被激活
add_action( 'rest_api_init', 'myfunction' );
function myfunction() {
register_rest_route( 'app', '/addmeta', array(
'methods' => 'POST',
'callback' => 'vendor_serve_route'
) );
}
function vendor_serve_route(WP_REST_Request $request_data ) {
// Fetching values from API
$data = $request_data->get_params();`enter code here`
$user_data = array( 'user_login' => $data['first_name'],
'user_email' => $data['user_email'],
'nickname' => $data['user_name'],
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
);
return ['Data' => $user_data];
}
答案 0 :(得分:0)
已在评论中说明,但现在有了更多解释:
该代码似乎可以创建一个端点,因此对端点的请求应该是错误的。问题在于您只是在更改端点的HTTP方法,而不是更改对端点的实际请求的HTTP方法。
此代码将创建一个端点,该端点接受对POST
的{{1}}请求。
向YOUR_DOMAIN/wp-json/app/addmeta
文件中添加很多代码不是一个好习惯,因为它将变得非常庞大且难以维护。
您应该为此创建一个插件(这是一个非常简单的过程),然后在其中放置新代码。这样,它是孤立的,您甚至可以轻松地在其他应用中重用它。
要创建插件,您需要:
functions.php
下为您的插件创建一个新目录/plugins
文件示例:
.php
.../plugins/my-api-endpoints
然后在文件中添加注释:
my-api-endpoints.php