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

PHP-String in Plugin-Datei ersetzen

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von m266, 24. März 2021.

  1. m266

    m266 Well-Known Member

    Registriert seit:
    21. April 2010
    Beiträge:
    575
    Zustimmungen:
    12
    Hallo zusammen,
    ich habe folgendes Problem, wo ich nicht weiterkomme:
    In einer Plugin-Datei soll der String
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    durch diesen String
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ersetzt werden. Das Script kommt in die functions.php oder ein Snippet-Plugin rein.

    Dieses Muster habe ich gefunden
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und so angepasst:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Es kommt folgende Fehlermeldung:
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\LWS\laragon\www\HappyForms\wp-content\plugins\wp-h-snippets\wphs.php on line 34

    Jetzt komme ich nicht weiter und bitte um einen guten Tipp.
    Die Variable "$option['label']" ist vermutlich noch leer.
    Vielen Dank!
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.681
    Zustimmungen:
    1.786
    Ungeachtet der Sinnhaftigkeit des ganzen Vorhabens:
    • Das $ Zeichen im Suchen-/Ersetzenstring muss bei der Nutzung von doppelten Anführungszeichen escaped werden.
    • Was steht in Zeile 34 der angegeben Datei?
     
    m266 gefällt das.
  3. m266

    m266 Well-Known Member

    Registriert seit:
    21. April 2010
    Beiträge:
    575
    Zustimmungen:
    12
    Super!!!
    Das war die Lösung. Ganz herzlichen Dank dafür. Ich habe mit Hochkommas und Klammern probiert, aber nichts hat funktioniert.

    Inhalt der Zeile 34:
    $file_contents = str_replace("<?php echo esc_attr( \$option['label'] ); ?>","<?php echo html_entity_decode( \$option['label'] ); ?>",$file_contents);
    (Die Backslashes sind schon drin; im Original fehlten sie natürlich)

    Zur "Sinnhaftigkeit":
    Hier ein Forenbeitrag zum Plugin "HappyForms":
    https://wordpress.org/support/topic/insert-links-in-multi-selection-fields/#post-14090448

    Um in einem Formular die Privacy Police mit Link einzustellen ist die im Forenbeitrag beschriebene Datei zu bearbeiten. Da ich diese Sache auch für andere, eher unkundige Admins beschreibe, wollte ich die Dateibearbeitung vermeiden. Deshalb ist alles in einem Script drin.
    Im Ergebnis sieht es dann so aus wie bei meinem Kontaktformular ganz unten (Zustimmung):
    https://web266.de/kontakt/
     
  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