Intereting Posts
Есть ли общий способ получить основной цвет тем? Получить локализованное значение Передача и проверка статических данных Где разместить шаблоны пользовательских страниц в теме? Как предотвратить смешные символы на главной странице Загрузка изображения разрушила мои ссылки Какой бы крючок я должен использовать, это будет срабатывать, когда я открою сообщение для редактирования в WP back-end? комментарий meta_query для ключей, которые еще не установлены не может перетаскивать виджеты, так как wordpress 3.2.1 Почему unzip_file всегда возвращает true, но ничего не происходит? Повторное сообщение, как решить эту проблему Удаление «публичной» регистрации пользователя без полного его отключения? Как включить все описания тегов в цикле? является ли $ _REQUEST безопасным для использования, чтобы определить, откуда берется действие post post? файлы комментариев и s

Как создать json API для моего настраиваемого типа сообщений

Я хотел бы создать json API, чтобы я мог публично публиковать свой собственный тип сообщения без помощи каких-либо внешних плагинов в WordPress.

Может ли кто-нибудь пролить свет на него, пожалуйста?

Solutions Collecting From Web of "Как создать json API для моего настраиваемого типа сообщений"

Вопрос кажется немного расплывчатым, есть много шагов, создающих API, но я попытаюсь возобновить:

  1. Создайте страницу взаимодействия (вы можете использовать wp-ajax или шаблон страницы)
  2. Код функции, которая будет считывать параметры и выполнять код
  3. Вывести только результат в браузер. Вы можете вывести json с помощью строки кода, например:

echo json_encode( $result );

Возможно, это поможет вам WPApi

Я смог создать конечную точку json с API правил перезаписи WordPress.

Вот как:

 // Add custom rewrite rule function test_rewrite_rule() { add_rewrite_tag( '%movies%', '([^&]+)' ); add_rewrite_rule( 'movie-api/([^&]+)/?', 'index.php?movies=$matches[1]', 'top' ); } add_action( 'init', 'test_rewrite_rule' ); // outputting the data function test_movie_endpoint_data() { global $wp_query; $movie_tag = $wp_query->get( 'movies' ); if ( ! $movie_tag ) { return; } if ( $movie_tag == 'all' ) { $movie_tag = false; } $movie_data = array(); $args = array( 'post_type' => 'movies', 'posts_per_page' => 100, 'moxie_tag' => esc_attr( $movie_tag ), ); $movie_query = new WP_Query( $args ); if ( $movie_query->have_posts() ) : while ( $movie_query->have_posts() ) : $movie_query->the_post(); $movie_data[] = array( 'id' => get_the_id(), 'title' => get_the_title(), 'poster_url' => esc_url( test_get_meta('poster_url') ), 'rating' => test_get_meta('rating'), 'year' => test_get_meta('year'), 'short_description' => test_get_meta('description'), ); endwhile; wp_reset_postdata(); endif; wp_send_json( $movie_data ); } add_action( 'template_redirect', 'test_movie_endpoint_data' ); 

Но пока я пытаюсь вытащить json-данные с помощью wp_remote_get (), word curl или file_get_contents (), он возвращает NULL.

Любая идея, как лучше всего получить эту информацию на лицевой стороне, является конечной точкой?