Intereting Posts
Сделать текущую домашнюю страницу, если есть подменю Разрешить постоянные ссылки для работы с дефисами и без них Как я могу выполнить небольшой фрагмент кода PHP в изолированной области моего WP? Процедурный вопрос о подключении плагина Иерархическая структура постоянной ссылки для сообщений, показывающих категории и подкатегории Расширить параметры экрана Как создать постоянную ссылку с двумя категориями, с порядком, основанным на родительской категории? Как проверить эту устаревшую функцию Как отделить уровни ссылок в пользовательском ходу? Получать выгрузку за пределы цикла? WordPress, направляющий страницу Posts (edit.php) вместо сохранения сообщения обновление метаданных пользователей с помощью многомерного ассоциативного массива Как получить настраиваемое поле из расширенного профиля BuddyPress Шорткод не заменяется Смутно настраивать виджеты

Как сделать безопасный вызов API из короткого кода при нажатии кнопки?

Я создаю плагин, который отображает кнопку на странице через короткий код. Когда кнопка нажата, она должна отправить запрос на внешний API и получить аудиофайл. Поскольку URL-адрес API включает ключ API, я не думаю, что могу использовать AJAX для отправки запроса – это откроет ключ API в источнике страницы.

Итак, как мне это достичь?

Получение ответа от API довольно просто с PHP. Я сделал что-то вроде этого:

function my_plugin_func() { .... $apikey = '123456789abcdef'; $apiurl = 'http://api.url/rest?apikey='.$apikey.'&opt1=val1&opt2=val2'; $response = wp_remote_get($apiurl); $results = wp_remote_retrieve_body($response); $filepath = '/blah/blah/blah.mp3'; file_put_contents($filepath, $results); $return_val = '<button type="button">Get File</button>'; return $return_val; } add_shortcode('my_plugin', 'my_plugin_func');

Как это сделать, когда нажимается кнопка? Будет ли он работать через AJAX, но убедитесь, что ключ API не открыт?