2015-12-19 5 views
11

Ich habe eine WordPress-Seite mit einem Ninja-Formular erstellt, die verschiedene Daten zu einem Produkt sammelt, einschließlich einiger hochgeladener Bilder. Auf die Seite mit dem Formular kann über das Hauptmenü zugegriffen werden, indem Sie auf den Eintrag "Eingabe" klicken, damit der Benutzer nicht auf das Back-End zugreifen muss, um seine Produktdaten hochzuladen.Erstellen von Seiten aus Ninja-Formulardaten

Ich möchte jetzt diese Daten in einen benutzerdefinierten Beitragstyp namens "Listing". Es wird schließlich tausende von diesen Datensätzen geben und so Tausende von "Listing" -Seiten, wenn Leute auf die Seite kommen, klicke auf Input im Hauptmenü, um auf die Seite mit dem Ninja-Formular zu gelangen und fülle sie aus.

Könnte mir jemand sagen, wie sie diese Auflistungsseiten jetzt aus den Daten erstellen würden, die das Formular gesammelt hat?

Ich benutze Ninja Front-End Post-Option, die angeblich eine Seite aus den Formulardaten erstellen wird. Dieses Plugin hat einige Post-Erstellungseinstellungen, wo Sie den zu erstellenden Post-Typ auswählen können, aber das funktioniert nicht für mich. Ich würde erwarten, dass die eingereichten Formulardaten unter Dashboard | angezeigt werden Einträge, aber es gibt nichts nach dem Absenden des Formulars.

Hat jemand das zur Arbeit gebracht?

Danke für Ihre Hilfe.

Antwort

0

Die Frontend-Erweiterung von Ninja Forms ist nicht wirklich für die Anzeige von Formularübermittlungsdaten am Frontend gedacht.

Von: https://ninjaforms.com/extensions/front-end-posting/

"The Ninja Forms Front-end Posting Verlängerung Sie die Kraft des Wordpress Post-Editor auf einer öffentlich sichtbaren Seite erhalten Sie wählen."

Wenn Sie die Anmeldedaten für Ninja Forms am Frontend anzeigen möchten, müssen Sie diese mit Code in functions.php oder durch ein Plugin (empfohlen) aus der Datenbank abrufen. Sie könnten diese dann analysieren und bearbeiten und einen Shortcode erstellen, mit dem Sie Ihre formatierten Daten problemlos in Wordpress-Posts oder -Seiten einfügen können.

Hier ist ein Link zu einer Feature-Anfrage, die nach der gleichen Sache fragt. Der Autor dieser Anfrage hat einen Link zu einem Plugin gepostet (klicken Sie auf Download als Plugin), das Sie schreiben könnten, was Ihnen gefällt oder Ihnen weitere Einblicke gibt, wie Sie das umsetzen können.

https://github.com/wpninjas/ninja-forms/issues/892

0

Wenn es Ihnen nichts ausmacht, ein wenig Geld für ein Plugin zahlen würde ich empfehlen Schwere Formen mit eher dann ninja Formen für anspruchsvollere Sachen wie diese.

Ich manuell einen benutzerdefinierten Beitragstyp "oproep" erstellen und ein Gravityforms-Plugin verwendet, um einen benutzerdefinierten Beitrag vom Typ oproep zu erstellen, wenn ein Benutzer das Formular übermittelt.

Da Sie benutzerdefinierte Post-Typ-Archivseiten verwenden, wird www.mysite.com/oproep automatisch erstellt, sodass Sie bereits eine Liste mit "Listings" haben. Die einzelnen Seiten www.mysite.com/oproep/title werden standardmäßig ebenfalls für Sie erstellt. Sie können diese Vorlagen auch überschreiben, wenn Sie je nach Ihrem Thema möchten.

Das einzige, was Sie tun müssen, ist ein paar PHP-Zeilen zu Ihrer functions.php hinzufügen (oder schreiben Sie Ihr eigenes Plugin), die den benutzerdefinierten Beitragstyp hinzugefügt. Der Rest funktioniert automatisch.

Ich bin so weit gegangen, Code zu schreiben, um Benutzer in die Lage zu versetzen, ihre Eingaben zu bearbeiten, benutzerdefinierte Taxonomie-Tags in Dropdowns usw. zu lesen.Sie haben viele und mehr Optionen mit Schwerkraftformen.

+0

Dies gilt nicht * wirklich * die Frage beantworten, die speziell auf die Ninja-Plattform bezieht. Es könnte besser als Kommentar geeignet sein. – ToothlessRebel

1

Ich denke, Sie können nur Ninja Forms ohne Erweiterungen verwenden, und haken Sie direkt in 'ninja_forms_after_submission', die nach der Einreichung ausgelöst wird und Sie Daten gesendet und Aktionen ausführen können.

Dies ist eine Starter-Codebasis, um Ihr Ergebnis zu erreichen, muss aber auf Ihre Bedürfnisse und Ihre Formularstruktur angepasst werden.

add_action('ninja_forms_after_submission', 'create_page_from_ninjaform'); 
function create_page_from_ninjaform($form_data){ 

    // your fields data 
    $form_fields = $form_data[ 'fields' ]; 

    // !!! this is an example, it depends form fields in your form 
    $title = $form_fields[ 1 ][ 'value' ]; 
    $content = $form_fields[ 2 ][ 'value' ]; 
    $sample_meta_field = $form_fields[ 3 ][ 'value' ]; 

    $new_post = array(
     'post_title' => $title, 
     'post_content' => $content, 
     'post_status' => 'publish', 
     'post_type' => 'listing', // be sure this is the post type name 
    ); 

    $new_post_id = wp_insert_post($new_post); 

    update_post_meta($new_post_id, 'your_meta_key', $sample_meta_field); 

} 

Dieser Code sollte

Nicht getestet natürlich in functions.php Datei kopiert werden.

Viel Glück;)