Ich habe ein WordPress Multi-Site-Netzwerk mit mehr als 20 Sites. und ich verwende Schwerkraftformulare für Kontakt-/Anmelde-/Abonnementformulare. Ich möchte ein globales Formular für meine WordPress-Multisite-Installation erstellen. Ist es möglich, dass Schwerkraftformulare die Formulareinträge nur auf der Haupt-/Elternseite speichern? Ich habe versucht, mit switch_to_blog()
auf Kinderseiten. aber es funktioniert nicht. Für Hilfe wäre ich dankbar 🙂
Gravity Forms – Globale Formulare für Multisite
Wenn Sie das Formular auf allen Sites duplizieren, können Sie alle dazu bringen, ihre Daten an die Hauptsite zu senden, indem Sie dies auf den „untergeordneten“ Sites einfügen:
$formId = 1; //Put your form id here
add_filter('gform_confirmation_'.$formId, 'gform_confirmation', 10, 4);
function gform_confirmation($confirmation, $form, $entry, $is_ajax) {
//Switch to Main site
switch_to_blog(1);
//Insert the entry into the main site
$new_entry_id = \GFAPI::add_entry($entry);
//Switch back
restore_current_blog();
//Tidy up by deleting the entry from THIS site
$result = GFAPI::delete_entry($entry['id']);
return $confirmation;
}
-
Gibt es einen Grund, warum vor dem ein Schrägstrich steht?
GFAPI::add_entry($entry);
?– Mike Kormendy
1. Januar 2020 um 15:46 Uhr
Gravity Forms speichert Daten basierend auf dem Tabellenpräfix der Blog-Datenbank,
In Multisite verwenden alle Sites dieselbe Datenbank, aber die Daten werden basierend auf dem Tabellenpräfix getrennt, das Präfix ist so etwas wie wp_1_, wp_2_, wp_3_…..
Wenn Sie eine Website wie my.blog1.com mit dem Tabellenpräfix wp_1_ haben, speichert das Schwerkraftformular alle Formulareinträge von my.blog1.com in wp_1_rg_lead, wp_1_rg_lead_detail, wp_1_rg_lead_detail_long,
Wenn Sie diese Details jetzt in Ihrer übergeordneten Installation speichern möchten, müssen Sie mit der Datenbank herumspielen und die Schwerkraftform mithilfe von Hooks wie ändern gform_pre_submission
oder gform_after_submission
Dies Post könnte helfen
http://www.endocreative.com/save-gravity-forms-data-custom-database-table/