Fallabhängiger Inhalt mittels the_content

  • Hi
    ich bin neu in WP, arbeite mit dem Genesis FW (Outreach Pro) und habe ein Problem. Mehrere meiner Seitenaufrufe basieren auf einer eigenen Seitenvorlage, die dazu dient abhängig von den GET Parameter bestimmte Formulare aufzubauen/anzuzeigen und bei den POST Parametern die entsprechenden Auswertung/Einträge in die DB vorzunehmen. In der Seitenvorlage habe ich folgenden Code:

    Diese Routine wird nach dem Laden mit GET oder nach dem Senden bei POST immer 2x aufgerufen. Die GET bzw. POST Values sind dabei gleich. Das Problem ist, dass die Datenbankeinträge teilweise unique sein müssen. Ein Workaround ist, die Routine erst beim 2. Aufruf abzuarbeiten, aber ich würde gerne das Problem verstehen.

    Any ideas
    Peter

    • 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

  • Schonmal was von Shortcodes gehört? Du scheinst ja PHP technisch bewandert zu sein, ich würde dir empfehlen deine Formulare mir Shortcodes zu entwickeln, da gehören sie hin und nicht direkt in den content filter.

    Warum the_content zweimal gefiltert / wird kann ich dirt gerade auch nicht sagen, da ich bisher nie auf deine Art und weiße versucht habe meine Anforderungen zu lösen (dafür gibt es wie gesagt die shortcodes ).
    Eventuell hast du zwei content loops (mit unterschiedlichem inhalt..) auf einer Seite verbaut und somit erfolgt der Aufruf auch zweimal.

    Digitaler Rucksack Nomade

  • Deaktiviere temporär alle Plugins, gibt es dann auch mehrfache Aufrufe?

    Vermutlich läuft ein SEO Plugin o.ä., das u.a. für die Meta Description den Content und andere Dinge auswertet und dadurch diverse Filter mehrfach triggert.

    Würde generell diesen Filter nicht für den genannten Zweck empfehlen.

  • Der Hinweis mit den shortcodes ist vermutlich zielführend, da auch zB Contact Form 7 mit Shortcodes arbeitet. Die Ursache ist anscheinend ein Loop, der diese Funktion 2x aufruft. Aber es ist müßig Fehler zu suchen, wenn man ohnehin den falschen Weg eingeschlagen hat. D.h neues Thema in der WP-Einarbeitung lautet Shortcodes.

  • Contact Form 7 zeigt das Formular über einen Shortcode an. Der Versand der Daten erfolgt dann normalerweise per JavaScript / Ajax über den REST-API Endpoint [FONT=Courier New]/wp-json/contact-form-7/...[/FONT] und nicht über einen klassischen POST Request an die Seite mit dem Formular.

  • der Hinweis mit dem CF7 ist auch noch interessant. Übrigens mit 10min Shortcode-Kennenlernen und 10min Codeänderung funktioniert jetzt alles wie geschwünscht.

  • PHP8 verwendest du noch nicht?

    return ... einer variablen Variablben ... $$resultMessage und alles funktioniert! cool.
    https://www.php.net/manual/de/lang…es.variable.php

    und ich würde else if zusammenschreiben elseif
    https://www.php.net/manual/de/control-structures.elseif.php

    schon aus Gründen der Lesbarkeit.

    der Filter ist - wie hier schon angemerkt Schrott

    Mit offenen Augen träumen

Jetzt mitmachen!

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