我同时使用 Ninja Form 和 Contact Form 7 来访问用户输入。但我面临的问题是提交存储在默认表(wp_post 和 wp_metapost)中。我觉得访问输入的提交不方便。所以我想将提交存储到同一个数据库中的用户定义表中。我怎样才能做到这一点?
我正在使用带有 Ninja 表单的 wordpress 站点(联系表单 7 也可以),Mysql 本地 wamp 服务器。
我同时使用 Ninja Form 和 Contact Form 7 来访问用户输入。但我面临的问题是提交存储在默认表(wp_post 和 wp_metapost)中。我觉得访问输入的提交不方便。所以我想将提交存储到同一个数据库中的用户定义表中。我怎样才能做到这一点?
我正在使用带有 Ninja 表单的 wordpress 站点(联系表单 7 也可以),Mysql 本地 wamp 服务器。
请检查以下步骤如何在自定义数据库表中添加数据。
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.
}
这将对您的代码进行测试。