php - WordPress 表单插件,允许在表单操作中给出自定义 url

标签 php wordpress forms contact-form-7 ninja-forms

我正在搜索一个 WordPress 插件,它允许管理员创建表单并将该表单提交到自定义 URL。我使用了联系表单 7,但它不允许此类功能。

我找到的唯一解决方案是创建自定义表单或使用联系表单 7 Hook 来获取帖子数据并通过curl 调用将该数据发送到自定义 URL。

请问还有什么更好的解决办法吗?

使用了这个小忍者钩,但不起作用:

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' ); 
    }     
}

最佳答案

这里我给出了两种使用联系表7的方法

Way-1 通过联系表单自定义操作 URL

  1. 在站点根文件夹中创建“custom_url.php”文件 在此文件中,您可以获取联系表单发布数据并编写您的curl代码以及您想要的任何内容..

  2. 复制以下代码并粘贴到主题 function.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”提供给联系表单操作。复制以下代码并将其粘贴到您的页面或发布到您想要的任何位置。


    [contact-form-7 id="1"title="联系表单 7"]

方式2通过联系表单7 Hook “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 */

    }
}

关于php - WordPress 表单插件,允许在表单操作中给出自定义 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43581899/

相关文章:

php - 在运行的 Plesk 11.5 服务器上更新 PHP/MySQL 的正确方法?

javascript - 如何使 JavaScript 文件路径相对于当前文件目录?

php - 在php中创建一个新页面

jquery - 在没有 SSL 的情况下将 Wufoo 链接到外部样式表

angular - 无法重置包含选择的 react 形式

php - 从列表中添加/删除元素,然后将更改保存到 MySQL

PHP 表列

php 文件在运行时重命名 - 是否可以锁定?

javascript - WordPress自定义页面模板从子目录读取

ruby-on-rails - Ruby on Rails : create records for multiple models with one form and one submit