С тех пор, как David Walsh перешел, в основном, на программирование на JavaScript, он стал все больше и больше уважать простоту и полезность JSON.
И теперь Дэвид везде придерживается этого формата, и когда он встречается с сервисом, который его не поддерживает, он впадает в истерику).
Совсем не давно он внедрял на свой сайт Dojo/Dijit виджет и понял, что WordPress не предоставляет собственных JSON методов извлечения информации из записей. Выход был найден в виде JSON API плагина.
Установка JSON API плагина
Плагин доступен на официальном WordPress сайте:
Скачиваем и устанавливаем из админки.
Конфигурация плагина
У плагина есть три основные функции:
- Ядро: Основные методы извлечения и внедрения данных из записей/категорий/тэгов и т.д.
- Записи: Предоставляет дополнительные возможности работы с записями, в т.ч. и создание записей.
- Ответы: Обеспечивает работу с комментариями и трэкбэками.
Большинству людей понадобятся доступными только методы ядра. Продвинутые пользователи могут выстрелить в сторону управления записями и комментариями.
Использование плагина
У плагина есть миллиарды применений и методов, и все это описано в документации:
Вот, пример метода, который вытягивает информацию о всех категориях...
1 2 3 4 5 6 7 8 9 10 11 12 |
/* url ?json=get_category_index */ { "status": "ok", "count": 3, "categories": [ { ... }, { ... }, { ... } ] }//.... |
...или всех записей из определенной категории...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/* url ?json=get_category_posts&slug=mootools */ { "status": "ok", "count": 10, "count_total": 79, "pages": 7, "category": { ... } "posts": [ { ... }, { ... }, ... ] }//.... |
...или захват всех похожих записей:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/* url ?json=get_recent_posts&count=10 */ { "status": "ok", "count": 10, "count_total": 79, "pages": 7, "posts": [ { ... }, { ... }, ... ] }//.... |
Как уже упоминалось выше, существует десяток параметров в плагине для извлечения JSON данных.
Хорошо или плохо
Единственная проблема в том, что этот плагин позволяет отдавать данные записей любому пользователю, используещему библиотеку JSONP.
На этом все. Следите дальше за развитиями событий...