1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Fallabhängiger Inhalt mittels the_content

Dieses Thema im Forum "Allgemeines" wurde erstellt von pega, 30. Januar 2021.

  1. pega

    pega Member

    Registriert seit:
    5. Juni 2014
    Beiträge:
    14
    Zustimmungen:
    1
    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:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
  2. Michi91

    Michi91 Well-Known Member

    Registriert seit:
    8. November 2008
    Beiträge:
    1.972
    Zustimmungen:
    42
    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.
     
  3. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.684
    Zustimmungen:
    1.786
    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.
     
  4. pega

    pega Member

    Registriert seit:
    5. Juni 2014
    Beiträge:
    14
    Zustimmungen:
    1
    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.
     
  5. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.684
    Zustimmungen:
    1.786
    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 /wp-json/contact-form-7/... und nicht über einen klassischen POST Request an die Seite mit dem Formular.
     
  6. pega

    pega Member

    Registriert seit:
    5. Juni 2014
    Beiträge:
    14
    Zustimmungen:
    1
    der Hinweis mit dem CF7 ist auch noch interessant. Übrigens mit 10min Shortcode-Kennenlernen und 10min Codeänderung funktioniert jetzt alles wie geschwünscht.
     
    Michi91 gefällt das.
  7. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    PHP8 verwendest du noch nicht?

    return ... einer variablen Variablben ... $$resultMessage und alles funktioniert! cool.
    https://www.php.net/manual/de/language.variables.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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden