Wie zeige ich Daten aus Gravitätsformularen in meiner Vorlage an?

Vorwort

Ich habe Schwerkraftformulare installiert, ein Formular erstellt und Benutzer senden Daten an meine Site. Ich möchte die Daten anzeigen, die Nutzer auf einer meiner Seiten auf meiner Website einreichen.

Ich weiß, dass es das Gravity Forms Directory- Plugin gibt. Aber das gibt nur eine feste Datenpräsentation.

Frage

Gibt es irgendetwas in Gravitationsformen, das so etwas tun kann? (Pseudocode) :

 

Solutions Collecting From Web of "Wie zeige ich Daten aus Gravitätsformularen in meiner Vorlage an?"

Sie können sich die Dokumente ansehen, aber Sie werden wahrscheinlich die eigentliche Dokumentation lesen: den Quellcode.

Wenn Sie das tun, werden Sie feststellen, dass

  • GFFormsModel::get_leads($form_id) gibt eine Liste von Einträgen für ein Formular zurück (vielleicht kennen Sie das bereits), wobei jedes Element im Array selbst ein Array ist, ein ” Entry-Objekt ”
  • GFFormsModel::get_form_meta($form_id) gibt eine Liste von Feld-Meta-Elementen (dh beschreibt Name, Typ, Regeln usw.) im Formular zurück, wobei jedes Element im Array ein ” Field-Objekt ” ist

Sobald Sie ein Eintrag-Objekt haben, können Sie auf die Felder als Elemente nach Feldnummer zugreifen. Wenn Sie ein Feld nach Name oder Typ suchen müssen, müssen Sie die Liste der Felder im Formular durchlaufen, um eine Übereinstimmung zu erhalten, und dann auf das Feld des Feldes nach Feld ID zugreifen.

Hinweis: Die Bestimmung des GFFormsModel::get_input_type($field) erfolgt am besten, indem das Meta-Element des Feldes an GFFormsModel::get_input_type($field)

Bearbeiten: Beachten Sie auch, dass nur die ersten 200 Zeichen jedes Felds im Entry-Objekt zurückgegeben werden. Wenn Sie Felder haben, die mehr Informationen speichern, müssen Sie danach fragen, zB indem Sie GFFormsModel::get_field_value_long($lead, $field_number, $form) .

Danke an webaware für ihre Antwort.

Hier ist eine Kopie / Pasta für alle, die einen schnellen Start suchen. Dies nimmt eine Eintrags-ID und ruft daraus den Lead und das Formular ab. In diesem Fall verwende ich die URL, um den Wert zu übergeben. zB somedomain.com?entry=123.

 < ?php $lead_id = $_GET['entry']; $lead = RGFormsModel::get_lead( $lead_id ); $form = GFFormsModel::get_form_meta( $lead['form_id'] ); $values= array(); foreach( $form['fields'] as $field ) { $values[$field['id']] = array( 'id' => $field['id'], 'label' => $field['label'], 'value' => $lead[ $field['id'] ], ); } ?> 
< ?php print_r($values); ?>

Sie können einen gform_after_submission Hook verwenden, um alles, was Sie für einen benutzerdefinierten Post-Typ benötigen, zu schreiben, was “einfacher im Feld” zu manipulieren ist, und vor jemandem sicher ist, der ein einzelnes Feld löscht und alle damit verknüpften Daten löscht es.

http://www.gravityhelp.com/documentation/page/Gform_after_submission

Yoast hat eine ziemlich gute Beschreibung beim Schreiben in benutzerdefinierte Felder, ohne sogar den Haken zu verwenden. http://yoast.com/gravity-forms-custom-post-types/

Viel Glück!