Да, ты можешь. Просто добавьте rest_route
параметр запроса.
Так
https://wordpress.org/wp-json/
станет
https://wordpress.org/?rest_route=/
Или https://wordpress.org/wp-json/wp/v2/
стал https://wordpress.org/?rest_route=/wp/v2
бы дать вам более полный пример.
Итак, вам интересно, как решить, какой из них использовать? Не беспокойтесь, для этого есть функция:get_rest_url()
Другим вариантом является тот факт, что по умолчанию <link>
в заголовке есть ссылка, которая дает вам корень API.
<link rel='https://api.w.org/' href='https://wordpress.org/wp-json/' />
Так что в случае, если вам нужно выяснить это со стороны клиента, JS просто используйте что-то вроде
document.querySelectorAll('link[rel="https://api.w.org/"]')[0].getAttribute('href');
Таким образом, в основном вы не должны принимать wp-json
заданную часть (и жестко ее кодировать), а всегда создавать ее динамически, используя get_rest_url()
упомянутый выше подход JS.
https://wordpress.org/?rest_route=SOMEPATH&value1=X&value2=Y
? Это означает, что мне нужно иметь условие для определения структуры постоянной ссылки и изменения маршрута REST на основании этого?/?rest_route=/?_jsonp=callBackfn
но получил статус 404./?rest_route=/&_jsonp=callBackfn
Вы можете добавить один переписать на вашем веб-сервере.
Например, для nginx
источник
Параметр
rest_route
запроса - этоUgly
стиль Постоянной ссылки (выбор слов Wordpress не мой). Вы можете изменить стиль постоянной ссылки,Post name
как показано на снимке экрана ниже, иwp-json
маршрут должен быть доступен в URL. Вполне возможно, что другие из этих постоянных стилей будут работать, ноPost name
сработали для меня, и я не изучал дальшеисточник