Intereting Posts
Отключить плагин на роль пользователя Саморазвитие или плагин как первый вариант? Внутри базы данных, где находится флаг, в котором говорится, что у пользователя есть права Super Admin? Как настроить WordPress в интрасети? Возможность синхронизировать и точно одинаковые множественные сайты через WordPress Multisite Multisite – получение 404 для дополнительного сайта, созданного с использованием субдомена Настройка встроенных твитов (или, как скрыть фотографии в встроенных твитах) Как установить активное меню в коде? Добавить пользовательский столбец в список пользовательских сообщений О крючках и фильтрах Как изменить параметр recent_edited? Как ограничить 1 изображение за сообщение только на домашней странице? Расширяемый контент WordPress (текст) внутри сообщения Плагин для rel = "nofollow" в сообщениях? {{Double Curly Brace}} data .____ Переменный источник в шаблоне WP_Playlist

Как создать 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.

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