Поддержка Проблемы и решения Форма с подключением внешнего API

  • Всем привет!

    Уже долго хожу по интернету с данным вопрос, но почему-то нигде не могу найти ответ. Неужели ни у кого не возникало такой потребности?!

    Задача: на страницу сайта нужно добавить форму для заполнения данных и эту форму подключить к внешнему API, с работой по принципу: заполнил данные- отправили их по API- получили обратный ответ от API- вывели ответ на страницу

    Интересуют именно стандартные решения, которые допустимы в WordPress, т.е. без костылей.

    Спецы, я нуждаюсь в вашей помощи!)

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Yuri

    (@yube)

    т.е. без костылей.

    Смотря что Вы называете костылями. Для одних это несколько строк кода, для других — плагины.

    Вообще-то, задача тривиальная: шорткод с формой и ее обработчик. Без особого труда можно сделать и ajax. Разумеется, требуется владение клавиатурой, одной мышью тут не обойтись.

    Смотря что Вы называете костылями. Для одних это несколько строк кода, для других — плагины.

    Костыли: к примеру один спец недавно мне сделал через javascript, прописав команду, которая выполняется при нажатии кнопки самой формы, но такой способ сразу же отрубает все возможности использования стандартного плагина в полной мере.

    Вообще-то, задача тривиальная: шорткод с формой и ее обработчик. Без особого труда можно сделать и ajax. Разумеется, требуется владение клавиатурой, одной мышью тут не обойтись.

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

    Модератор Yuri

    (@yube)

    хотелось бы использовать готовые плагины,

    Запросто. Любой плагин форм, скажем, тот же CF7. На хук отправки письма повесить свой обработчик, который будет отправлять форму по API куда надо.

    Запросто. Любой плагин форм, скажем, тот же CF7. На хук отправки письма повесить свой обработчик, который будет отправлять форму по API куда надо.

    Если вам не сложно, расскажите пожалуйста как это сделать. Обработчик АПИ написать не проблема.

    Модератор Yuri

    (@yube)

    Вот как-то так:

    add_action('wpcf7_before_send_mail', function($contact_form) {
    	if ( $contact_form->id != 'my_form_for_api' ) return;
    	$submission = WPCF7_Submission::get_instance();
    	$posted_data = $submission->get_posted_data();
    .....
    });
    

    В массиве $posted_data должны быть всякие разные данные, из которых можно насобирать передаваемое по API. Если там чего-то нет, то обязательно должно быть в $_POST.

    Погуглите ‘wpcf7_before_send_mail’, найдется много описаний и примеров.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Форма с подключением внешнего API» закрыта для новых ответов.