плагин WordPress формы, который позволяет дать пользовательский URL в форме действия

Я ищу плагин WordPress, который позволяет администратору создать форму и отправить ее на свой URL. Я использовал контактную форму 7, но она не поддерживает такую ​​функциональность.

Единственное решение, которое я нашел, это либо создать пользовательскую форму, либо использовать хуки контактной формы 7 для извлечения данных поста и отправки этих данных в пользовательский URL через вызов curl.

Любое лучшее решение, пожалуйста?

Использовал этот маленький крючок ниндзя, но не работает:

function ninja_forms_handler() {
add_action ( 'ninja_forms_post_process', 'change_ninja_forms_landing_page', 1, 2 );
}
add_action('init', 'ninja_forms_handler');

function change_ninja_forms_landing_page(){
global $ninja_forms_processing;

$form_id = $ninja_forms_processing->get_form_ID();

$ninja_forms_processing->update_form_setting( 'landing_page', 'test.php' );
}
}

1

Решение

Здесь я дал два способа, используя контактную форму 7

Путь-1 Через контактную форму настраиваемого действия URL

  1. Создайте файл «custom_url.php» в корневой папке вашего сайта
    В этом файле вы можете получить контактную форму для публикации данных и написать свой код curl и все, что вы хотите ..

  2. Скопируйте приведенный ниже код и вставьте в файл theme.php вашей темы.

     add_filter('wpcf7_form_action_url', 'wpcf7_custom_form_action_url');
    function wpcf7_custom_form_action_url()
    {
    return 'custom_url.php';
    }
    
  3. Дайте этот файл «custom_url.php» для действия формы контакта. Скопируйте приведенный ниже код и вставьте его на своей странице или посте, где хотите.

    <form class = «» action = «custom_url.php» method = «post» name = «»>
    [contact-form-7 id = «1» title = «контактная форма 7»] </ форма>

Путь-2 Хотя контактная форма 7 перехватывает «wpcf7_before_send_mail»

add_action('wpcf7_before_send_mail', 'CF7_pre_send');

function CF7_pre_send($cf7) {
$submission = WPCF7_Submission::get_instance();

if ($submission) {
$posted_data = $submission->get_posted_data();
$arrFields = array();
foreach ($posted_data as $key => $value) {
//$strKeyVals .= $key.":".$value.", ";
if ("_wp" != substr($key, 0, 3)) {
$arrFields[] = $key . '${$' . $value;
}
}
/* Here you can write curl and whatever you want */

}
}
2

Другие решения

Это должно сделать свое дело CF7 Документы.

Добавьте код только в нижний колонтитул вашего шаблона страницы контактов.

Дайте мне знать, как вы поживаете.

0

По вопросам рекламы [email protected]