Я новичок в разработке Wordpress, и я обнаружил, что такое неуклюжее решение проблемы, которая кажется обычной. Пожалуйста, помогите мне найти более чистое решение с меньшим потенциалом для некорректного поведения.
Цель: Получить диапазон дат от пользователя на странице Wordpress, использовать диапазон дат в запросе API, отобразить данные из ответа API на странице Wordpress.
Текущее решение: Даты начала и окончания отправляются в форме HTML на странице Wordpress с методом POST. Запрос POST не перенаправляется на любую другую страницу. В дополнение к параметрам start
и end
в форме есть скрытый параметр action
с указанным мною пользовательским значением: <input type="hidden" name="action" value="custom-value">
. Я написал плагин, который использует хук init
. Подключенная функция проверяет $_REQUEST['action']
, чтобы определить, соответствует ли оно пользовательскому значению в форме, и если это так, она выполняет запрос GET к API (leisure.gov), используя start
и end
даты из формы. До этого момента решение мне показалось довольно solid. Вот где учебники закончились, и мне пришлось получить ...... изобретательность.
Данные из запроса API обрабатываются и форматируются в HTML, и эта строка сохраняется как переходный процесс, используя set_transient
с 3 секунды продолжительности жизни. На исходной странице, с которой была отправлена форма, есть короткий код, который просто возвращает переходный процесс. Теперь у меня есть данные из API на той же странице, с которой пользователь указал диапазон дат.
Это решение работает, но, похоже, существует большая вероятность того, что все пойдет не так, если страница используют несколько пользователей. в то же время, и видеть или перезаписывать результаты друг друга. Должен быть лучший способ получить данные из плагина, который выполняет API-запрос, обратно на страницу Wordpress.
Поскольку этот вопрос касается методологии, а не синтаксиса, я не включил пример кода, но Я мог бы, если бы это было полезно. Заранее спасибо за совет.