Contact Form 7 / post_content

  • Hallo Zusammen!
    Contact Form 7 (+ Flamongo) läuft und ist eingerichtet. Alles super.

    Beim Blick in die DB sehe ich, dass ALLE Eingaben (Textfelder, Dropdowns, etc.)
    in "post_content" zusammengefasst
    wurden.

    Das ist natürlich Käse, da ich bestimmte Daten EINZELN abrufen möchte.

    Jemand eine Idee, wie ich CF7 dazu zwinge, für jedes Feld, Checkbox, Dropdown, etc. eine EIGENE Spalte in der DB anzulegen?

    Habe gelesen, es gibt die Möglichkeit post_content[]. Aber leider NULL Erklärung oder detaillierte Hinweise dazu, sodass ich keine Ahnung habe, was ich mit dieser Info anfangen soll.


    Danke im Voraus!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Lt. Autor des Flamingo Plugins (der gleiche Autor wie Contact Form 7) sind die Daten als eigener [FONT=Courier New]post_type[/FONT] namens [FONT=Courier New]flamingo_inbound[/FONT] in der [FONT=Courier New]wp_posts[/FONT] Tabelle und die Werte in der [FONT=Courier New]wp_postmeta[/FONT] Tabelle, z.B.


    Contact Form 7 selbst speichert keine Eingaben in der Datenbank.

  • @b3317133 : DANKE! Das hilft schonmal ungemein!

    Einige Werte werden allerdings wie folgt ausgegeben: a:1:{i:0;s:23:"Neu..."
    Diese sind für eine "Ausgabe" ungeeignet. Ne Ahnung, woran das liegen könnte?

    Einmal editiert, zuletzt von Olaf (13. Februar 2021 um 19:38)

  • allerdings wie folgt ausgegeben: a:1:{i:0;s:23:"Neu..."


    Das sieht aus wie ein serialisiertes Array.

    Vermutlich hilft es am meisten, den Code des Flamingo Plugins anzusehen und die relevanten Teile dann genau nachzuvollziehen. Die vorhandenen Inhalte in [FONT=Courier New]post_content[/FONT] werden z.B. etwas aufbereitet und dann durch ein [FONT=Courier New]"\n"[/FONT] getrennt hinterlegt, siehe in der o.g. [FONT=Courier New]save()[/FONT] Funktion.

    Code
    $post_content = array_merge(
                (array) $this->fields,
                (array) $this->consent,
                (array) $this->meta
            );
    
    
            $post_content = flamingo_array_flatten( $post_content );
            $post_content = array_filter( array_map( 'trim', $post_content ) );
            $post_content = implode( "\n", $post_content );


    Viel Erfolg beim Reverse Engineering...

  • Du kannst auch ein eigenes Plugin erstellen, das die Daten direkt wie von Dir gewünscht speichert. Auch hierfür kann man den Code von Flamingo oder auch von einem der anderen ähnlichen Plugins, die teilweise eigene Datenbanktabellen nutzen, als Grundlage verwenden. Viel Erfolg.

    Am Rande: Ein volles Zitieren von Beiträgen bitte vermeiden, siehe auch Forenregeln, Punkt II.


  • Am Rande: Ein volles Zitieren von Beiträgen bitte vermeiden, siehe auch Forenregeln, Punkt II.


    OK! ;-)

    Habe gerade festgestellt, dass diese Array ausschließlich bei Checkboxen und Radio eingetragen werden.
    Im Backend erscheint so vor dem Eintrag ein Punkt als Aufzählungszeichen. Unnötig eigentlich.
    Es reicht doch die Ausgabe des ausgewählten Wertes.
    Wer macht sowas? Warum macht man sowas? Das braucht doch kein Mensch.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!