Я создал пользовательскую тему на 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?
Задача ещё не решена.
Других решений пока нет …