Intereting Posts
RSS-канал не показывает сообщения Как получить изображение, переданное через FTP или скрипт, чтобы появиться в Media Manager? Тема Child не загружает несколько таблиц стилей Как передавать значения для построения функции с помощью Actions? удалите объявление в корзину и просмотрите еще кнопку, если цена продукта пуста Могу ли я скрыть конкретную запись с последней страницы сообщений? Дублируйте сайт австралийской электронной коммерции Чистая установка – изменение постоянных ссылок в двадцать четыре дает 404 Показывать только будущее событие (расширенные пользовательские поля) Поиск любых изображений в медиа-библиотеке отображает «нет носителя» Wp запрос orderby 'title' не работает Как сделать paginate на странице шаблона? Как для массового удаления всех подписчиков WordPress? CSS Twentyeleven / Sidebar необходимо изменить в стили CSS. Боковая панель с левой стороны WordPress Post HTML после публикации

Сохранение внешних вызовов API в WordPress

Я закодировал страницу WordPress, на которой пользователи могут отправлять свое имя. После нажатия submit, он отправит API-запрос внешнему API, который возвращает информацию об их имени. Это простой обзор:

<form action="" method="post"> Name: <br><input name="example" type="text" /><br> <input name="submit" type="submit" /> </form> <?php if (isset($_POST['submit'])) { $example = $_REQUEST['example']; $result = $customcontact->lookupByName($example); /** API PHP Library */ print_r($result); } ?> 

На следующем шаге я хотел бы сохранить этот запрос и сделать краткий обзор истории запросов, сделанных для каждого пользователя. Чтобы они могли просматривать и проверять предыдущие запросы без новых вызовов.

Может ли кто-нибудь указать мне в правильном направлении или, возможно, знает учебник / руководство для чего-то подобного?

Большое спасибо!

отметка

Solutions Collecting From Web of "Сохранение внешних вызовов API в WordPress"

Отметка,

Я должен был сделать что-то подобное для нескольких заданий. Это более крупная тема, но я постараюсь сломать ее пошагово и надеюсь, что вы пойдете в правильном направлении.

Я разбил код на шаги и изложил их здесь:

 if (isset($_POST['submit'])) { $example = $_REQUEST['example']; $result = $customcontact->lookupByName( $example ); /** API PHP Library */ $save_data = array(); //step 1 $key = time(); //step 2 $save_data[ $key ]['epoch'] = $key; //step 3 $save_data[ $key ]['timestamp'] = date( 'Ymd H:i:s' ); //step 4 $save_data[ $key ]['data'] = $result; //step 5 $existing_log = maybe_unserialize( get_option( 'my_site_option_saved_data' ) ); //step 6 $existing_log[] = $save_data; //step 7 update_option( 'my_site_option_saved_data', maybe_serialize( $existing_log ) ); //step 8 } 
  1. Когда у нас есть данные, создайте новый массив.
  2. Возьмите уникальное значение (в данном случае, время эпохи). Это становится ключом массива для этой записи в ваш «журнал».
  3. Добавьте время эпохи в массив как запись о том, когда был вызван вызов API (для получения дополнительной информации о времени эпохи: https://en.wikipedia.org/wiki/Unix_time )
  4. Добавьте человеко-читаемую дату и время в массив. Я использую формат, дружественный SQL-запросам, если вам нужно что-то сделать для сортировки или запроса данных.
  5. Добавьте результаты API в массив.
  6. Теперь у нас есть все данные внутри массива. Мы выходим в базу данных и захватываем существующие зарегистрированные данные и пытаемся их неэтериализовать (переводить из базы данных в массив).
  7. Когда у нас есть массив существующих данных, мы можем добавить в него новый массив, который является нашими новыми данными.
  8. Наконец, мы повторно сериализуем данные и сохраняем их в базе данных.

Несколько примечаний:

  1. Это не очень эффективно. Был бы лучший способ, но если вам это нужно для тестирования, это сработает.
  2. Когда вы получаете данные, посмотрите на шаг 6. Я получаю данные с помощью get_option и unserializing (преобразование его в массив) через maybe_unserialize .

Это должно заставить вас начать. Дайте знать, если у вас появятся вопросы.

Том

РЕДАКТИРОВАТЬ

Вот ссылки на функции WordPress, которые я использую в своем ответе:

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