跨不同主题的不同WP Rest API自定义终结点

时间:2018-11-09 05:40:16

标签: php wordpress rest

我在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自定义端点中处理此类更改的最佳实践是什么?

0 个答案:

没有答案