我在Wordpress上使用自定义WP Rest API端点创建了一个自定义主题。这就是我设置的方式。
主题名称:主题1
在functions.php中的行下面添加了
require get_parent_theme_file_path( '/inc/myapi-functions.php' );
myapi-functions.php
由所有自定义API组成。让我们以端点为例
add_action('rest_api_init','lmsRoutes');
function lmsRoutes(){
register_rest_route( 'abcAPIRoute/v1', 'login', array(
'methods' => 'POST',
'callback' => 'loginABCuser'
));
}
loginABCuser如下
function loginBUuser($request){
//do some wp_rest_get which returns a response 'my dummy text 1'
$response = // wp_rest_get response;
return $response;
}
上面的工作很好。我会根据需要得到响应我的虚拟文字1 。
现在,每次远程API逻辑发生某些更改时,wp_rest_get
响应中的url都会不断更改。但是,它在版本上向后兼容。例如,即使远程API是v5版本,我也可以继续向数据发送v1网址并获得v1响应。
最初,我认为使用托管服务提供商的cPanel可以克隆当前主题,在myapi-functions.php
中进行更改,并在克隆的主题中进行必要的测试和开发,然后将实时主题交换为克隆的主题。示例如下(对于克隆主题中的loginABCuser)
function loginBUuser($request){
//do some wp_rest_get which returns a response 'my dummy text 2'
$response = // wp_rest_get response;
return $response;
}
我希望响应为我的虚拟文本2 ,但仍返回我的虚拟文本1
我该如何处理?我在哪里出错?
我什至尝试改变
require get_parent_theme_file_path( '/inc/myapi-functions.php' );
到
require get_theme_file_path( '/inc/myapi-functions.php' );
在functions.php
中,但仍然是同一问题。
我总是可以进行更改并在本地环境中对其进行测试,但是我想知道是否仅限于使用cPanel文件编辑器和WP Theme预览来进行更改?
在WP Rest API自定义端点中处理此类更改的最佳实践是什么?