Ответить на пользовательский URL в плагине WordPress - PullRequest
0 голосов
/ 29 марта 2020

Итак, я пытаюсь написать плагин WordPress, который действует как API и отвечает на указанный c HTTP-запрос. Я кэширую некоторые данные в своем плагине, и я хотел бы получить данные на другой стороне, используя AJAX или sth. Какие действия или фильтры я должен использовать? Я пытался использовать фильтр request , но не смог понять, как он работает.

1 Ответ

1 голос
/ 29 марта 2020

Используйте для этого WP REST API: https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/

Ниже приведен простой пример добавления пользовательского маршрута и обработки запроса.

add_action( 'rest_api_init', function () {
  register_rest_route( 'myplugin/v1', '/my-custom-route/(?P<id>\d+)', array(
    'methods' => 'GET',
    'callback' => 'my_awesome_func',
  ) );
} );


function my_awesome_func( WP_REST_Request $request ) {
  // You can access parameters via direct array access on the object:
  $param = $request['some_param'];

  // Or via the helper method:
  $param = $request->get_param( 'some_param' );

  // You can get the combined, merged set of parameters:
  $parameters = $request->get_params();

  // The individual sets of parameters are also available, if needed:
  $parameters = $request->get_url_params();
  $parameters = $request->get_query_params();
  $parameters = $request->get_body_params();
  $parameters = $request->get_json_params();
  $parameters = $request->get_default_params();

  // Uploads aren't merged in, but can be accessed separately:
  $parameters = $request->get_file_params();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...