WP 6.4 Variable Anzeigen als Text

  • Hallo zusammen

    Ich habe eine WP Seite auf der ich gerne die Variable anzeigen lassen möchte im Text.

    URL https://domain/seite/?Wochentag=Sonntag

    Nun möchte ich, dass auf der Seite das Wort SONNTAG geschrieben wird, oder eben was bei der Variable Wochentag geschrieben wird.

    Habs den Befehl auf der WordPress Seite eingebaut als Code:
    <?php
    echo $_GET["Wochentag"];
    ?>

    Es schreibt aber das Wort SONNTAG nicht auf die Seite.

    Mache ichs ohne WordPress, funktioniert der Befehl in der PHP Datei
    Was habe ich falsch gemacht? Kann WordPress mit $_GET nicht umgehen?

    • 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

  • Das ist ein Eingabefeld von Divi, dem kommerziellen PageBuilder/Theme. Leider weiß ich nicht, ob und in welcher Form hier eingegebener Code ausgeführt wird. Du solltest dich dazu an den Support von Divi wenden: https://divi.help

    Beachte, dass Du einen Schreibfehler in dem Code hast. Er muss mit

    PHP
    <?php

    anfangen und nicht so wie du es geschrieben hast.

    Je nach Antwort vom Divi Support musst Du den Code jedoch auch noch absichern. Derzeit könnte jeder alles mögliche dort hin schreiben - auch potentiell gefährliche Codes. Meine Vermutung ist, dass Divi aus dem Grund auch keinerlei Code-Ausführung in der Form zulässt. Ob und wie es geht, muss dir aber eben der Divi-Support sagen.

  • Habe nun den Code mit dem Standard Editor eingefügt, aber es zeigt nun nur den Code an.

    Wie kann ich dies mit dem Standard Editor erreichen?
    Es muss nicht zwingend DiviBuilder sein.

  • Gar nicht. Die Ausführung von PHP-Code auf dem Weg ist aus Sicherheitsgründen nicht möglich.

    Die einfachste Möglichkeit wäre die Einrichtung eines Shortcodes. Den fügst Du dann im Editor deiner Wahl ein.

    Einfaches Minimal-Beispiel:

    Code
    add_shortcode( 'Wochentag', function() {
        return isset($_GET['Wochentag']) ? sanitize_text_field( wp_unslash( $_GET['Wochentag'] ) ) : '';
    });

    Da man hier auch "Schwein" als Parameter angeben kann, wäre eine zusätzliche Prüfung auf den eingegebenen Wert ratsam. Beispiel:

    Diesen Code musst Du in der functions.php deines Child-Themes (so vorhanden) oder per Code Snippet-Plugin hinterlegen.

    Im Editor deiner Wahl fügst Du dann den Shortcode nur noch ein:

    Code
    [Wochentag]

    Es gäbe hierfür noch viele andere Lösungswege - das ist wie gesagt der einfachste. Ein vermutlich besserer wäre, wenn Du ggfs. einen anderen Weg finden würdest um den Wochentag an der Stelle auszugeben. Das sollte nicht gerade per Parameterübergabe passieren sondern eher aus dem Inhalt der Seite heraus. Da Du den Hintergrund des ganzen nicht genannt hast, kann man dir leider auch nicht genauer helfen dabei.

  • Habe ich doch geschrieben.

    Ich habe eine PHP Datei, welche ich per IFrame oder Include in meine WordPress Seite einbaue. Dies funktioniert.
    Nun möchte ich, dass meine Variable an diese IFrame/Include Datei übergeben wird und so die Seite Filtert.

  • Hattest Du das Übergeben an diese Include Datei nicht schon im letzten Beitrag hier gelöst?

    2 Mal editiert, zuletzt von b3317133 (19. November 2023 um 16:57)


  • Habs den Befehl auf der WordPress Seite eingebaut als Code:

    echo $_GET["Wochentag"];

    Die Verwendung von echo $_GET[“Wochentag”]; ist nicht empfehlenswert, weil es eine [COLOR=#b30000]Sicherheitslücke[/COLOR] darstellt. $_GET ist eine vordefinierte Variable in PHP, die die Daten enthält, die über die URL an das Skript gesendet werden . Wenn du diese Daten direkt ausgibst, ohne sie zu validieren oder zu filtern, können Angreifer schädlichen Code einschleusen und deine Website kompromittieren . Dies wird als Cross-Site-Scripting (XSS) bezeichnet und ist eine der häufigsten Web-Sicherheitsbedrohungen .

    Um dies zu vermeiden, solltest du immer die Eingabedaten überprüfen, bevor du sie ausgibst. Zum Beispiel kannst du die Funktion filter_input verwenden, um die Daten zu bereinigen und nur gültige Werte zu akzeptieren . Ein Beispielcode könnte so aussehen:


    Diese Code gehört in ein WordPress Plugin und nicht als ausführbarer Code in einen Editor - egal welchen. Dies macht man nicht!

    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!