Ошибка WordPress REST API 404 при запросе пользовательского типа записи с помощью мобильного браузера

#json #wordpress #ionic-framework #wp-api #wordpress-rest-api

#json #wordpress #ionic-framework #wp-api #wordpress-rest-api

Вопрос:

Я в замешательстве. Я использую WordPress REST Api для создания мобильного приложения с Ionic. Я пытаюсь реализовать обычный тип сообщения и один из моих пользовательских типов сообщений.

Я могу сделать запрос get для стандартного типа записи «http://www.example.org/wp-json/wp/v2/posts » и это работает.

Я сделал то же самое со своим пользовательским типом записи «http://www.example.org/wp-json/wp/v2/shows «и когда я тестирую его в своем браузере, он работает, НО когда я использую Chrome и мобильный симулятор, он выдает мне ошибку 404: rest_no_route

Есть идеи, почему возникает эта ошибка, особенно только для пользовательских типов записей?

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

1. Вы установили для ‘show_in_rest’ значение true при настройке пользовательского типа записи?

Ответ №1:

По умолчанию пользовательский тип записи будет недоступен. Вам необходимо добавить приведенные ниже фрагменты в functions.php файл вашей темы:

 add_action( 'init', 'custom_post_type_rest_support', 25 );
function custom_post_type_rest_support() {
  global $wp_post_types;

  $post_type_name = 'show';
  if( isset( $wp_post_types[ $post_type_name ] ) ) {
    $wp_post_types[$post_type_name]->show_in_rest = true;
    $wp_post_types[$post_type_name]->rest_base =  $post_type_name ;
    $wp_post_types[$post_type_name]->rest_controller_class = 'WP_REST_Posts_Controller';
  }
}