Предоставление HTTP-сервиса через плагин WordPress

14 окт. 2016 г., 07:17:25
Просмотры: 60
Голосов: 0

Этот пост является оригинальной публикацией на https://stackoverflow.com/q/40018619/306719, но не получил внимания, и я нашел этот сайт, поэтому думаю, что здесь будет правильное место, и я запрошу перенаправление для оригинального поста.


Я хочу предоставить HTTP-сервис для добавления новых постов с дополнительной информацией и думаю, что плагин WordPress - это правильное решение.

Однако я не уверен, с чего начать, даже после прочтения документации по плагинам WordPress.

Я предполагаю, что должна быть какая-то функция типа request_recieve, где я могу зарегистрироваться для перехвата запроса и выполнить свою задачу, но я не могу найти её. Также не знаю, как избежать блокировки обычных запросов WordPress.

6
Комментарии

сервис на основе http? Возможно, вам стоит попробовать WP REST API.

bravokeyl bravokeyl
14 окт. 2016 г. 07:21:02

WordPress предоставляет HTTP_API. Проверьте это.

AddWeb Solution Pvt Ltd AddWeb Solution Pvt Ltd
14 окт. 2016 г. 07:24:04

@bravokeyl: REST API не соответствует моим требованиям. Когда я получаю запрос, мне нужно не только проверить/вставить его в базу данных, но и выполнить дополнительную работу. И вернуть другой ответ клиенту.

hguser hguser
14 окт. 2016 г. 07:32:35

@AddWebSolutionPvtLtd: Я не собираюсь отправлять http запрос из wordpress, а хочу получать запросы.

hguser hguser
14 окт. 2016 г. 07:33:20

@hguser: HTTP_API - это все о транспортах http (т.е. отправка, получение), а не только отправка. Надеюсь, вы проверили раздел Helper Functions по ссылке HTTP_API.

AddWeb Solution Pvt Ltd AddWeb Solution Pvt Ltd
14 окт. 2016 г. 07:43:27

@AddWebSolutionPvtLtd: Я снова проверил, и похоже, что HTTP_API можно использовать, чтобы заставить wordpress работать как клиент, в то время как мне нужно, чтобы wordpress работал как сервер с дополнительными конечными точками, которые будут обрабатывать запросы от клиента. Что-то вроде WP rest api

hguser hguser
14 окт. 2016 г. 09:01:25
Показать остальные 1 комментариев
Все ответы на вопрос 1
0

Сейчас я использую хук init для добавления своего процесса обработки запроса, а затем проверяю, должен ли запрос обрабатываться плагином. Если да — обрабатываю и завершаю выполнение, если нет — ничего не делаю. Вот так:

add_action('init',function(){
  if(should_intercepte_the_request()){
    //обрабатываем запрос
    //выходим
    die("foo");
  }else{
    //ничего не делаем
  }
});

После этого вы можете получить доступ по адресу: http://localhost

Рекомендуется проверять метод запроса и наличие токена доступа, чтобы убедиться, что запросы отправляются из доверенного источника.

18 окт. 2016 г. 05:26:08