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.
}
这将适用于您的代码已经过测试。
我同时使用 Ninja Form 和 Contact Form 7 来访问用户输入。但我面临的问题是提交存储在默认 tables(wp_post 和 wp_metapost)中。我觉得访问输入的提交不方便。所以我想将提交存储到同一个数据库中我的用户定义的 table 中。我该怎么做?
我正在使用 Ninja 表单的 wordpress 网站(联系表单 7 也可以),Mysql 本地 wamp 服务器。
请查看以下步骤如何在自定义数据库中添加数据 table。
1) 使用以下查询
创建数据库 tableCREATE 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.
}
这将适用于您的代码已经过测试。