Intereting Posts

POST для API REST из формы WordPress

Я не хочу использовать REST API для публикации в WordPress.

Я хочу создать форму на странице wordpress, которая отправит POST на внешний REST API. Пользователи будут размещать свою информацию и, возможно, загружать файл. Когда пресса «отправить», я хочу, чтобы эта информация была отправлена ​​в REST API на другом сервере (а не в WordPress).

Есть ли плагины, которые позволяют это? Кто-нибудь сделал это? Конечно, у меня могут возникнуть проблемы с этим: http://en.wikipedia.org/wiki/Same_origin_policy

Похоже, я хочу сделать обратное: http://wordpress.org/extend/plugins/json-api/ Вместо того, чтобы создавать REST API для wordpress, я хочу, чтобы связь wordpress отправляла POST на внешний REST API, когда пользователь нажимает кнопку на форме.

Я не знаю плагина, который делает это в общем виде; по большей части, вам нужно будет создать что-то пользовательское для каждого конкретного API, с которым вы собираетесь общаться.

Для ваших целей ключевой функцией будет wp_remote_post() , которая является оболочкой для метода POST для HTTP-класса WP. (Используйте это вместо того, чтобы делать ручные запросы cURL, потому что WP_Http имеет все виды резервных копий для разных способов транспорта HTTP.) Вот хорошее введение: http://yoast.com/wp-best-practice/wordpress-http-api/ Те же политики происхождения обычно применяются только к браузерам. wp_remote_post() и его wp_remote_post() на сервере.

Отправка данных довольно проста – просто поместите массив в «тело» вашего wp_remote_post() . Сложная часть – это всегда аутентификация – сервер API ожидает предварительно зарегистрированный ключ или какую-то услугу передачи по протоколу oAuth или что-то еще. Если это так же просто, как общий ключ, вы можете просто передать его как часть полезной нагрузки 'body' .