Я создал собственную тему на Wordpress с пользовательскими конечными точками API WP Rest. Вот как я это настроил.
Название темы: Тема 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'
));
}
И логин ABCuser, как показано ниже
function loginBUuser($request){
//do some wp_rest_get which returns a response 'my dummy text 1'
$response = // wp_rest_get response;
return $response;
}
Вышеописанное прекрасно работает. Я получаю ответ мой фиктивный текст 1 по мере необходимости.
Теперь URL в wp_rest_get
ответах постоянно меняется каждый раз, когда происходят некоторые изменения в логиках удаленного API. Однако это обратно совместимо в версии. Например, я могу продолжать отправлять данные по URL v1 и получать ответ v1, даже если удаленный API имеет версию v5.
Сначала я подумал, что используя 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?