Meine Website in WordPress. Ich möchte den Wert des Kontaktformulars 7 automatisch an eine andere Datenbanktabelle senden. Zum Beispiel ist eine WordPress-Datenbanktabelle und eine andere eine PHP-Datenbanktabelle. Wie kann ich dieses Problem beheben?
nach absendung kontakt form7 daten in andere datenbanktabelle einfügen
Lesezeit: 2 Minuten
12285400cookie-checknach absendung kontakt form7 daten in andere datenbanktabelle einfügen
Sunil Sharma
Befolgen Sie die folgenden Schritte und fügen Sie Code in functions.php hinzu:
1) Erstellen Sie eine benutzerdefinierte Tabelle in Ihrer benutzerdefinierten Datenbank
CREATE TABLE candidate(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50)
);
2) Kontaktformular erstellen 7 Felder
[text* title]
[submit "Send"]
3) Fügen Sie den folgenden Code zu function.php hinzu
function contactform7_before_send_mail( $form_to_DB ) {
//set your db details
global $wpdb;
$form_to_DB = WPCF7_Submission::get_instance();
if ( $form_to_DB )
$formData = $form_to_DB->get_posted_data();
$title = $formData['title'];
/************* Insert in wordpress database ***********/
$wpdb->insert( 'candidate', array( 'title' =>$title ), array( '%s' ) );
/************ For Php Mysql Database (Create connection first) ********/
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (title)
VALUES ($title)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
remove_all_filters ('wpcf7_before_send_mail');
add_action( 'wpcf7_before_send_mail', 'contactform7_before_send_mail' );
Gaurang Joshi
Fügen Sie Ihrer function.php-Datei den folgenden Code hinzu.
function custom_db_wpcf7_before_send_mail($form7_data) {
//set your database details
$custom_db = new wpdb('user','password','custom_db','host');
$form7_data = WPCF7_Submission::get_instance();
if ($form7_data)
$post_data = $form7_data->get_posted_data();
$title = $post_data['title'];
$custom_db->insert('custom_table', array('field' => $value), array( '%s' ));
}
remove_all_filters('wpcf7_before_send_mail');
add_action('wpcf7_before_send_mail', 'custom_db_wpcf7_before_send_mail' );
}
Mögliches Duplikat von Speichern von Kontaktformular 7-Daten in benutzerdefinierter Datenbank und nicht in WordPress-Datenbank
– Gaurang Joshi
1. September 2018 um 6:40 Uhr