Contcatform7 或 Ninja 表单数据存储在自定义数据库 table - Wordpress

Contcatform7 or Ninja form data store in custom database table - Wordpress

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

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

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

1) 使用以下查询

创建数据库 table
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.
}

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