Intereting Posts
Отображение div из назначенного meta_value, когда на странице Как можно добавить дополнения продукта WooCommerce на странице архива в кнопку добавления в корзину? $ wpdb-> get_var несколько запросов в одной проверке базы данных Показать только одну из категорий сообщения в панировке? Связывание файлов подключаемых модулей с WP Во всяком случае, чтобы карты Google отображали несколько уникальных мест на отдельные сообщения / страницы? Добавление параметров в строку запроса WordPress в бэкэнд Создавайте динамический и отзывчивый коллаж изображений Виджет WordPress не сохраняет экземпляр Как создать функцию экспорта / импорта для плагина Как использовать функции из документации Woocommerce? Удалить родительскую категорию из URL-адреса дочерней категории Как скрыть меню тем оформления ссылок в WordPress? Захват данных WordPress Salt из URL register_deactivation_hook argument -> передать аргументы в выбранной функции

Создавать динамические страницы из внешних данных JSON без сохранения в базе данных?

Я хочу создать плагин, который делает запрос AJAX стороннему API, который отвечает JSON, который выглядит абстрактно следующим образом:

{show1: [season1: [{episode1}, {episode2}, {episode3}], season2: [{episode1}, {episode2}]]}

Чтобы я создал страницу в WordPress для показа, которая существует на: site / show1

На этой странице у меня могут быть ссылки из каждого перечисленного эпизода, который относится к URL-адресу, подобному этому: site / show1 / season1-episode1, фактически не имея необходимости создавать страницу или сообщение в WordPress для каждого эпизода.

Возможно ли это, и если да, любые идеи о том, как можно это сделать?

То, что вы хотите, очень просто, но также требует много работы, чтобы заставить его работать так, как вы ожидали.

Первый запуск – создать базовую страницу. Эта страница будет отвечать за все запросы.

Например :

idontripmoviesandseries.com/videogalerie/show1/season1-episode1/

Теперь вы хотите сообщить WP, как обращаться с такими типами URL-адресов https://developer.wordpress.org/reference/functions/add_rewrite_rule/

пример кода

add_rewrite_rule( '^videogalerie/[^/]+)/([^/]+)?$', 'index.php?pagename=videogalerie&showname=$matches[1]&episodeseason=$matches[2]', 'top' ); 

Но почему-то вам нужно сказать WP, чтобы понять эти новые параметры (showame и episodeseason)

 add_filter( 'query_vars', 'set_videogalerie_query_vars' ); function set_videogalerie_query_vars( $vars ) { $vars[] = 'showname'; $vars[] = 'episodeseason'; return $vars; } 

Теперь вы можете делать то, что хотите, на шаблоне страницы видеогалереи. Вы можете запросить сторонний API, чтобы получить нужные данные и проанализировать их перед загрузкой страницы.

Часть Ajax не уверена, зачем вам это нужно, так как сервер может загрузить полный список URL-адресов и сезонов перед показом пользователю. Но если вы хотите, чтобы это можно было решить этим ответом wordpress.stackexchange.com

Повеселись!