Створення Користувацького REST API Endpoint у WordPress за допомогою PHP
Розширення REST API WordPress шляхом створення власних endpoint може значно підвищити функціональність вашого сайту. Користувацькі endpoint дозволяють взаємодіяти з даними без обмежень стандартних API.
Чому Варто Створити Користувацький REST API Endpoint?
- Доступ до Унікальних Даних – Доступ до специфічних даних, яких немає в стандартних API.
- Інтеграція – Можливість підключення зовнішніх додатків і сервісів.
- Оптимізація – Контроль за обсягом даних, що передаються, для підвищення продуктивності.
Необхідні Вимоги
- Встановлений WordPress (локально або на сервері).
- Базові знання PHP та WordPress розробки.
- Дочірня тема або кастомний плагін (рекомендується для найкращих практик).
Крок 1: Реєстрація Користувацького Endpoint
Першим кроком є реєстрація вашого endpoint. Додайте цей код до файлу functions.php
вашої теми або в кастомний плагін.
add_action('rest_api_init', 'register_custom_endpoint');
function register_custom_endpoint() {
register_rest_route('custom/v1', '/data/', array(
'methods' => 'GET',
'callback' => 'handle_custom_data_request',
'permission_callback' => '__return_true',
));
}
Пояснення
rest_api_init
– Хук, який ініціалізує REST API.register_rest_route
– Реєструє новий маршрут REST.'custom/v1'
– Простір імен/версія.'/data/'
– Слаг endpoint.methods
– HTTP метод (GET, POST тощо).callback
– Функція, яка обробляє запит.permission_callback
– Визначає, хто має доступ до endpoint.
Крок 2: Обробка API Запиту
Тепер створимо callback функцію, яка повертатиме дані при доступі до endpoint.
function handle_custom_data_request($request) {
$data = array(
'message' => 'Привіт, це користувацький API!',
'time' => current_time('mysql'),
);
return rest_ensure_response($data);
}
Пояснення
handle_custom_data_request
– Обробляє вхідні запити та повертає відповідь.current_time('mysql')
– Отримує поточний час у форматі MySQL.rest_ensure_response
– Забезпечує правильне форматування даних як REST відповідь
Крок 3: Тестування Endpoint
Після додавання коду, перейдіть за URL вашого сайту:
https://yoursite.com/wp-json/custom/v1/data/
Ви повинні побачити JSON відповідь, подібну до цієї:
{
"message": "Привіт, це користувацький API!",
"time": "2025-01-05 15:00:00"
}
Крок 4: Додавання Параметрів до Endpoint
Щоб зробити endpoint більш динамічним, додамо параметри.
register_rest_route('custom/v1', '/data/', array(
'methods' => 'GET',
'callback' => 'handle_custom_data_request_with_params',
'permission_callback' => '__return_true',
'args' => array(
'name' => array(
'required' => false,
'validate_callback' => function($param, $request, $key) {
return is_string($param);
},
),
),
));
function handle_custom_data_request_with_params($request) {
$name = $request->get_param('name');
$message = $name ? "Привіт, $name!" : "Привіт, відвідуваче!";
$data = array(
'message' => $message,
'time' => current_time('mysql'),
);
return rest_ensure_response($data);
}
Тестування параметра:
https://yoursite.com/wp-json/custom/v1/data/?name=John
Відповідь:
{
"message": "Привіт, John!",
"time": "2025-01-05 15:05:00"
}
Висновок
Створення користувацьких REST API endpoint у WordPress дозволяє гнучко взаємодіяти з даними та підключати зовнішні сервіси. Виконуючи цю інструкцію, ви зможете створити динамічні endpoint, що підвищать функціональність вашого сайту.
Лінкбілдінг для сайтів у ніші кріпто і блокчейн
Лінкбілдінг відіграє важливу роль у SEO-стратегії будь-якого криптопроєкту. Він збільшує трафік на сайт, підвищує авторитет…
Лінкбілдинг для сайтів e-commerce
SEO для e-commerce є важливим аспектом розвитку бізнесу, оскільки велика частка онлайн-доходів залежить від залучення…
Лінкбілдинг для стартапів
Розпочати SEO-просування може бути складним завданням для будь-якого веб-сайту, особливо для стартапів, оскільки бренд ще…