Является ли API-интерфейс Wordpress REST установленным и включенным в настройке ванильного Wordpress 4.7?

Я только что установил Wordpress 4.7. Одним из упоминаний в объявлении является то, что он имеет API REST.

Мое понимание:

  • Плагин API Wordpress REST больше не нужен, потому что, возможно, он уже был объединен с ядром в Wordpress 4.7.
  • API-интерфейс Wordpress REST включен по умолчанию

Тем не менее, я заметил, что в установке vanilla Wordpress 4.7 ни одна из конечных точек не работает (например, http://examples.com/wp-json/wp/v2/posts) .

Как узнать, действительно ли активирован новый REST API? Может ли REST API быть включен или отключен с помощью ванильного интерфейса Wordpress, или мне нужно установить сторонний плагин для этого?

21 голос | спросил Pep 10 SatEurope/Moscow2016-12-10T20:07:58+03:00Europe/Moscow12bEurope/MoscowSat, 10 Dec 2016 20:07:58 +0300 2016, 20:07:58

3 ответа


15

4.7 включил его по умолчанию. Легкий способ проверить, работает ли он, - просто посетить URL example.com/wp-json, и вы должны получить список зарегистрированных конечных точек там

Официальной возможности отключить его нет (по крайней мере, был разговор об этом не уверен, попал ли он в релиз), от него зависит какая-то базовая функциональность.

Наиболее очевидные вещи, которые нужно проверить, если они не работают, - это ваши правила htaccess, и у вас есть каталог wp-json

ответил Mark Kaplun 10 SatEurope/Moscow2016-12-10T20:37:11+03:00Europe/Moscow12bEurope/MoscowSat, 10 Dec 2016 20:37:11 +0300 2016, 20:37:11
6

У меня было 4.7, также считалось, что REST API отключен, но я был обманут URL. Чтобы увидеть правильный URL, найдите строку, выглядящую примерно так:

link rel = 'https://api.w.org/' href = 'http://mysite?rest_route=/' /& gt ;. Итак, используя http: //mysite? Rest_route = /, поскольку префикс решил мою проблему. Например, для восстановления сообщений достаточно ввести: http: //mysite? Rest_route = /wp /json

Я не смог найти в документации, что необходим параметр запроса. Был ли я единственным?

ответил Edward 27 J0000006Europe/Moscow 2017, 06:52:28
0

Я вижу, что вы исправили проблему, но оставив мое решение здесь, поскольку это сработало для меня. У меня была эта же проблема при обновлении с бета-версии 15 до ядра api в wp 4.7. Оказывается, проблема заключалась в том, что у меня были некоторые плагины, которые использовали устаревшую функцию register_api_field, которую я изменил на register_rest_field в соответствии с этой запиской в ​​журнале изменений:

  

BREAKING CHANGE: переименуйте register_api_field () в register_rest_field ().

     

Вводит функцию register_api_field () для обратной совместимости, которая   вызывает _doing_it_wrong (). Однако register_api_field () никогда не будет   привязан к ядру WordPress, поэтому вы должны обновлять свои вызовы функций.

ответил friendlyfire 17 SatEurope/Moscow2016-12-17T05:30:18+03:00Europe/Moscow12bEurope/MoscowSat, 17 Dec 2016 05:30:18 +0300 2016, 05:30:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132