Что такое /wp-json?
Я знаю о REST API и понимаю, что такое JSON. Насколько я понимаю, для правильного использования REST API в настоящее время требуется установка официального плагина. Однако, когда я обращаюсь к указанной директории даже на сайтах без установленного плагина, я получаю данные в ответ.
Что генерирует эти данные? Это относительно новая функция или она существует уже давно?

Это корневой URL для REST API, когда включены красивые постоянные ссылки. Он есть во всех установках WordPress.
Когда изначально писался этот ответ, вышла версия WP 4.6, и существовало лишь несколько конечных точек (endpoints), а плагин был необходим для конечных точек контента. Однако они были добавлены в ядро WordPress начиная с версии 4.7. Базовая инфраструктура для REST API доступна с версии 4.5, включая такие функции, как register_rest_route
.
Однако, когда я обращаюсь к указанному URL даже на сайтах, где плагин не установлен, я получаю данные в ответ.
Это данные для обнаружения конечных точек! Список всех конечных точек, к которым у вас есть доступ. Вы можете заметить большое количество конечных точек, если у вас установлен, например, Jetpack. Именно так приложения могут автоматически определять, что может делать ваш сайт, или проверять наличие определенных конечных точек.
Обратите внимание, что предоставляемая информация актуальна только для вас как для пользователя, который к ней обращается. Конечные точки, требующие прав, которых у вас нет, не отображаются, если вы не авторизованы как пользователь с соответствующими правами. Например, вы не увидите конечные точки типа POST
для определенного контента, если не выполняете аутентифицированные запросы с правами автора, редактора или выше.

Спасибо. Я примерно так и думал, но нигде не смог найти объяснения.

Не думаю, что ассоциировать это с REST API — хорошая идея, так как этот термин связан с конкретными конечными точками. Это просто общая конечная точка (даже не обязательно JSON), находящаяся вне админки, аналогичная xml-rpc.
