【问题标题】:Contcatform7 or Ninja form data store in custom database table - WordpressContcatform7 或 Ninja 表单数据存储在自定义数据库表中 - Wordpress
【发布时间】:2019-01-04 08:43:43
【问题描述】:

我同时使用 Ninja Form 和 Contact Form 7 来访问用户输入。但我面临的问题是提交存储在默认表(wp_post 和 wp_metapost)中。我觉得访问输入的提交不方便。所以我想将提交存储到同一个数据库中的用户定义表中。我该怎么做?

我正在使用带有 Ninja 表单的 wordpress 站点(联系表单 7 也可以),Mysql 本地 wamp 服务器。

【问题讨论】:

    标签: mysql wordpress wampserver contact-form ninja-forms


    【解决方案1】:

    请查看以下步骤如何在自定义数据库表中添加数据。

    1) 使用以下查询创建数据库表

    CREATE TABLE contactfordata(
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50)
     );
    

    2) 使用以下字段创建联系表格 7 表格

    [text* name] 
    [submit "Send"]
    

    3) 在 fucntions.php 文件中添加如下代码

     remove_all_filters ('wpcf7_before_send_mail');
     add_action( 'wpcf7_before_send_mail', 'before_send_mail_contactform7' );  
    
     function before_send_mail_contactform7( $formdata_db ) 
    {
    
       $mydb_CUSTOM = new wpdb('DB_USERNAME','DB_PASSWORD','DB_NAME','HOST_NAME'); // add db detail here
    
       $formdata_db = WPCF7_Submission::get_instance();
    
      if ( $formdata_db ) 
        $formData = $formdata_db->get_posted_data();
    
      $name = $formData['name']; // set form data in variable
    
       $mydb_CUSTOM->insert( 'contactfordata', array( 'name' =>$name ), array( '%s' ) ); // insert the data in your custom table.
    }
    

    这将适用于您的代码已经过测试。

    【讨论】:

    • 什么是 $formdata_db?我应该在那里更换什么?是使用的表单名称吗?
    • 插入多个字段值怎么办?
    • 只需在数据库中添加其他字段并追加到名称插入的数组中。
    猜你喜欢
    • 2018-12-29
    • 2014-11-30
    • 2014-09-20
    • 2016-03-03
    • 2016-09-15
    • 2014-12-22
    • 1970-01-01
    • 2021-10-11
    • 2014-07-21
    相关资源
    最近更新 更多