Коли REST API нарешті було додано до основи WordPress, це стало кінцем довгої подорожі. Багато хто очікував цієї зміни як найбільшого кроку вперед для WordPress в історії платформи. Однак, якщо ви не знайомі з REST API, вам може бути незрозуміло, що це все означає.
У короткому викладі, додавання WordPress REST API перетворило WordPress на повнофункціональний фреймворк для додатків. Це значно збільшило його «розширюваність», або здатність доповнюватись новими функціями та можливостями. Крім того, це розширило потенціал платформи для взаємодії з іншими сайтами та додатками.
Вступ до REST APIs
Перш ніж глибше занурюватися в WordPress REST API, важливо узгодити нашу термінологію. Це тема, де нам доведеться використовувати багато абревіатур, тож давайте спочатку їх прояснимо.
Перш за все, вам потрібно знати, що таке Application Programming Interfaces (APIs). У найпростіших термінах, API це засіб, за допомогою якого одна система дозволяє іншим системам підключатися до своїх даних.
Наприклад, коли веб-сайт додає на сторінку кнопку «like» Facebook, він робить це, підключаючись до API Facebook. Це дозволяє веб-сторінці використовувати API для отримання даних (код кнопки «like») та відправлення даних (запит «like»).
Отже, що таке REST API? Representational State Transfer (REST) – це тип API, специфічний для веб-сервісів. Він містить стандартизований набір інструкцій та правил, що полегшує взаємодію всіх ‘RESTful’ сервісів один з одним.
Скорочено, REST API дозволяють вам надсилати запити до зовнішньої системи. Одним із прикладів є Twitter. Ви можете використовувати його API для запиту певної кількості твітів від конкретного користувача. API поверне твіти відповідно до вашого запиту, які ви можете вбудувати на свій сайт за допомогою HTML та CSS.
Ці запити виконуються за допомогою JavaScript Object Notation (JSON). Це мова, спеціально розроблена для відправлення, отримання і зберігання даних.
Ми розглянемо JSON пізніше в цій статті, але рекомендуємо вам вже зараз ознайомитися з цією мовою. Це допоможе підготуватися до використання WordPress REST API та розуміння деяких концепцій, про які ми будемо говорити.
Що таке WordPress REST API (і чому це важливо)
WordPress REST API функціонує приблизно так само, як і приклади, на які ми вже звернули увагу. Загалом, WordPress REST API надає вам повний доступ до функцій WordPress з будь-якої JSON-сумісної платформи.
Так само, як API Twitter дозволяє вам отримувати та надсилати твіти, REST API WordPress може використовуватися для управління публікаціями, користувачами, категоріями та багатьма іншими речами з зовнішніх платформ. Це дозволяє використовувати WordPress у багатьох раніше небачених способах.
REST API було анонсовано ще у 2013 році. Він розпочав своє життя як плагін, призначений для включення в ядро WordPress з версії 4.1. Як це часто буває, затримки відклали випуск до того часу, поки він нарешті не був впроваджений в ядро з випуском WordPress 4.7 через три роки.
Це було довге, але варте очікування для багатьох людей, які вважали WordPress REST API важливим кроком вперед для платформи. Ви можете здивуватися, чому це доповнення було такою великою справою, особливо враховуючи, що багато користувачів, ймовірно, не помітили значної різниці. Як виявилося, включення REST API було фундаментальною зміною для WordPress з багатьох причин.
Імплементуючи REST API, WordPress зробив крок від простої платформи для створення сайтів. Замість цього, він тепер став повноцінним фреймворком для додатків. Це означає, що розробники можуть використовувати сайт WordPress для створення додатків для мобільних пристроїв та вебу або як репозиторій інформації.
Ця зміна також дозволила WordPress відійти від своєї залежності від PHP. Завдяки сумісності WordPress з будь-якою мовою, що підтримує JSON, REST API значно розширило можливості для розробників, дозволяючи їм використовувати функціональність WordPress практично з будь-яким фреймворком.
Нарешті, REST API забезпечує підвищену гнучкість з інтерфейсами, які ви можете використовувати для роботи з платформою. Він зробив адміністративний інтерфейс повністю необов’язковим, оскільки тепер ви можете взаємодіяти з вашим сайтом WordPress повністю через команди JSON.
Тепер давайте подивимося, як JSON та REST API об’єднуються, щоб зробити це можливим.
Як REST API та JSON працюють разом
На цей момент ви вже повинні мати уявлення про теоретичні аспекти WordPress REST API. Тож, давайте розглянемо більш практичну сторону технології. Офіційний посібник описує використання REST API наступним чином:
“WordPress REST API надає кінцеві точки API для типів даних WordPress, які дозволяють розробникам взаємодіяти з сайтами віддалено, надсилаючи та отримуючи об’єкти JSON (JavaScript Object Notation).”
Перше слово, на якому нам потрібно зосередитися, це «endpoints». Найлегше сприймати endpoint як частину даних або функцію, яку можна викликати за допомогою запиту JSON. За замовчуванням WordPress надає велику кількість стандартних endpoints для використання, але розробники також можуть створювати користувацькі endpoints.
Щоб досягти кінцевої точки, ви повинні використовувати ‘маршрут’, який має форму звичайної URL-адреси. Ви навіть можете спробувати це зараз самостійно.
Перейдіть на свій власний сайт WordPress та додайте /wp-json/wp/v2 в кінець його URL. Якщо ваш сайт — http://example.com, ви повинні ввести http://example.com/wp-json/wp/v2.
Коли ви завантажуєте цей маршрут, ви досягнете кінцевої точки, яка в цьому випадку повертає весь вміст та метадані для вашого сайту у (невпорядкованому) форматі JSON. Використовуючи різні маршрути, ви можете отримати доступ до різних кінцевих точок, щоб отримати специфічні типи інформації та виконувати різні завдання.
Існує три основні запити JSON, які ви будете використовувати з REST API, тож давайте також швидко на них подивимося зараз. Вони такі:
- GET. Цей тип запиту використовується для отримання та перегляду даних з API. Наприклад, ви б використали запит GET для повернення списку користувачів на вашому сайті або компіляції блог-постів за певний період часу.
- POST. Цей запит використовується для відправлення даних до API. Він дозволяє вам передавати нову інформацію до WordPress, таку як додавання нових користувачів та постів або оновлення існуючих даних.
- DELETE. Як випливає з назви, цей запит використовується для видалення даних. Це дозволяє вам видаляти пости, сторінки, користувачів та більше.
GET та POST іноді можуть використовуватися з тим самим кінцевим пунктом для досягнення різних результатів.
Наприклад, давайте розглянемо кінцеву точку /me/settings/. Якщо ви виконаєте GET запит на цю кінцеву точку, ви отримаєте список поточних налаштувань користувача. Однак, використовуючи POST запит на тій же кінцевій точці, ви зможете оновити налаштування.
Початок роботи з WordPress REST API
Тепер ми перейдемо від теорії до практики та покажемо вам декілька дуже простих прикладів того, що ви можете зробити за допомогою REST API. Це лише невеликий огляд, щоб допомогти вам стати впевненими у використанні REST API для обробки запитів до WordPress.
Для більшої кількості прикладів ми рекомендуємо ознайомитися з офіційною бібліотекою довідників та ресурсами REST API.
Наступні методи вимагатимуть від вас використання командного рядка для обробки JSON запитів. Це дозволяє вам взаємодіяти з вашим сайтом WordPress за допомогою текстового інтерфейсу та відправлення простих команд.
Якщо у вас немає досвіду використання командного рядка, ми рекомендуємо вам спочатку ознайомитись з основами. Вам також може бути корисно використовувати SSH для створення з’єднання з вашим сайтом.
Нарешті, коли ви будете готові, давайте розглянемо деякі приклади того, як ви можете використовувати WordPress REST API!
1. Повернення публікацій з сайту
Хоча вам, звичайно, потрібно мати належний дозвіл для редагування вебсайту, можна отримати деяку інформацію з майже будь-якого сайту WordPress. Це тому, що REST API є однаковим для всіх інсталяцій WordPress.
Як ми обговорювали, основна причина існування API полягає у тому, щоб дозволити зовнішнім додаткам отримати доступ до деяких ваших даних. У цьому прикладі ми можемо отримати один запис з офіційного блогу новин WordPress:
curl https://wordpress.org/news/wp-json/wp/v2/posts/1
ID було встановлено на 1, що означає, що цей запит отримає саме перший пост у блозі. Це може бути важко побачити, оскільки JSON не дуже зручний для читання, але серед коду ви можете знайти весь вміст і мета-дані для посту:
Ви можете використовувати цю інформацію в додатку, наприклад, для відображення її з власним налаштуванням стилю.
Якщо ви хочете повернути всі публікації з блогу, все, що вам потрібно зробити, це видалити ID в кінці. Проте, ймовірніше, що ви захочете повернути обраний набір публікацій. Наступний запит поверне три останні публікації:
curl https://wordpress.org/news/wp-json/wp/v2/posts/?per_page=3
Ви можете спробувати це самостійно з іншими сайтами, а також зі своїм власним блогом.
2. Оновити публікацію
Тепер давайте спробуємо внести деякі зміни до WordPress за допомогою REST API. Для цього вам потрібно буде увійти на сайт, яким ви хочете керувати. Наприклад, якщо ви використовуєте SSH, вам потрібно буде увійти на ваш сервер.
У цьому прикладі ми оновимо існуючий запис. Спочатку давайте використаємо запит для оновлення назви запису з ID 1:
curl -X POST http://example.com/wp-json/wp/v2/posts/1 -d '{"title":"Нова назва"}'
Це досить зрозуміло. Аргумент title показує, що ви оновлюєте заголовок посту, за яким слідує текстовий рядок з заміною.
Існує багато інших аргументів, які ви можете використовувати для внесення змін у публікацію. Наприклад, ви можете використовувати список для призначення категорій публікації, публікувати її або повністю змінити її вміст.
3. Видалити користувача
Нарешті, давайте розглянемо, як ви можете видалити дані за допомогою REST API. У цьому прикладі ми видалимо користувача з сайту. Звичайно, вам потрібно буде увійти та отримати авторизацію для управління користувачами, перш ніж ви зможете використовувати цю функцію.
Потім ви можете використовувати наступний запит для видалення користувача з ID 101:
curl -X DELETE http://example.com/wp-json/wp/v2/users/101
Це видалить зазначеного користувача з сайту. Ви можете використати додаткові параметри, щоб перепризначити публікації користувача іншому користувачеві на основі їхнього ID. Або ж ви можете примусово видалити назавжди, замість того, щоб додавати користувача до кошика.
З цих прикладів ви можете почати розуміти, як REST API дозволяє вам керувати контентом на вашому сайті та зв’язуватися з іншими. Якщо ви хочете дізнатися більше, ми рекомендуємо глибше зануритися в Посібник REST API.
Досліджуйте розробку WordPress
WordPress REST API був великим кроком вперед для платформи, що відійшла від своїх коренів і рухається в майбутнє. Розробники були захоплені з першого дня, але якщо ви не були знайомі з REST API з самого початку, ви могли б здивуватися, чому.
Хоча REST API може здатися складним для початківців, не обов’язково бути досвідченим розробником, щоб використовувати деякі базові запити. Наприклад, API дозволяє виконувати різноманітні завдання на вашому власному сайті (або на інших), такі як повернення публікацій, оновлення публікацій та видалення користувачів.
Ви шукаєте високопродуктивний хостинг для вашого сайту WordPress? У Dreamhost наші керовані плани DreamPress пропонують професійні тимчасові сайти, автоматичні резервні копії, вбудований кеш та більше. Перегляньте наші плани сьогодні!
Робіть більше з DreamPress
Автоматичні оновлення DreamPress, кешування та надійні заходи безпеки знімають управління WordPress з ваших рук, щоб ви могли зосередитись на своєму сайті.
Переглянути плани