Добавить конечную точку в WooCommerce очень просто. Есть два способа сделать это:
Метод 1: Используйте класс WC_REST_Connect_Controller.
Этот метод рекомендуется для разработчиков, знакомых с кодовой базой WooCommerce. Чтобы использовать этот метод, вам необходимо:
http://yourdomain.com/shop/my-account/payment-methods
Они используются для управления содержимым, которое отображается на странице «Мой аккаунт» в WooCommerce.
Добавить конечную точку очень просто, но есть несколько моментов, о которых следует помнить:
1. После добавления конечной точки обязательно промойте пермалинки. Это можно сделать, перейдя в Настройки > Permalinks и нажав кнопку «Сохранить изменения».
2. Если вы используете пользовательский шаблон WooCommerce, вам нужно будет отредактировать файлы шаблона, чтобы учесть новую конечную точку.
3. Конечные точки могут конфликтовать с другими плагинами или темами, которые используют похожие URL. Если у вас возникли проблемы, попробуйте изменить slug для конечной точки (часть после «my-account/»).
-
В файл functions.php вашей темы добавьте следующий код:
addaction( «restapiinit», «mycustomendpoints» );
function mycustom_endpoints() {$controller = new WCRESTConnectController();
$controller->registerroutes();
} -
В новом файле создайте класс, который расширяет WC_REST_Connect_Controller. Например:
class MyCustomEndpoint extends WCRESTConnect_Controller {
public function __construct() {
$this->namespace = «wc/v1»; // определяем пространство имен для вашей конечной точки (точек)
}
public function register_routes() {
registerrestroute( $this->namespace, «/my-endpoint», array( // определите URL конечной точки и метод здесь
«methods» => «GET», // определяем, какие методы позволяет использовать эта конечная точка: GET, POST, PUT или DELETE
«callback» => array( $this, «my_endpoint» ), // функция обратного вызова для запуска при вызове этой конечной точки) );
public function myendpoint( WPREST_Request $request ) { // определение функции обратного вызова — принимает один параметр: WP REST Request object
// делаем что-то здесь — например, возвращаем некоторые данные обратно вызывающему…
return true; // не забудьте вернуть что-нибудь! Иначе в ответе вы получите ошибку «false».
}
}
Метод 2: Использование маршрута() регистрационного REST API.
. Это рекомендуемый подход, если вы не знакомы с кодовой базой WooCommerce. Чтобы использовать этот метод, вам необходимо:
. В файл functions.php вашей темы добавить следующий код:
.
. add action("rest api init","my custom routes");.
function my custom routes(){. register rest route("wc/v1","my-endpoint",array("methods"=>"get","callback"=>"my custom callback")); }. function my custom callback(){. // сделайте что-нибудь здесь - например, верните некоторые данные обратно вызывающей стороне. return true; // не забудьте вернуть что-нибудь! Иначе в ответ вы получите ошибку "false". }
. Вот и все! Теперь вы добавили новую конечную точку REST API в WooCommerce.