Setzen von eigenen Cookies geht nicht (WP 4.0)

  • Guten Tag

    Ich möchte auf gewissen Seiten eigene Cookies setzen.

    Ich habe dies mit folgendem Code gemacht:

    <?php
    setcookie( 'cookie_name', 'cookie_wert', time()+3600);
    ?>

    Ein Plugin, welches die Verarbeitung von php-Code auf Seiten und Beiträgen ermöglicht, habe ich installiert. Sonstiger php-Code, den ich in Seiten und Beiträgen einfüge, wird denn auch sauber abgearbeitet, nur eben das Setzen von Cookies funktioniert nicht *grmpf*

    Noch eine Angabe, die vielleicht wichtig sein könnte: Ich habe Wordpress im Root installiert. Ob das die Ursache ist? Jedenfalls wäre es toll, wenn mir jemand einen Rat geben könnte.

    • 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

  • Die Funktion setcookie(...) funktioniert nur so lange, bis die erste Ausgabe der Seite erfolgte und damit der HTTP-Header gesendet wurde. Vermutlich wird der PHP-Code vom Plugin aber erst später ausgeführt.

    Um ein Cookie zu setzen, kann man sich mit einer Funktion z.B. so einklinken:

    PHP
    add_action( 'get_header', 'my_function' );

    In der Funktion my_function() wird dann setcookie() ausgeführt.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Habt vielen Dank

    Das hört sich für mich kompliziert an. Von php habe ich nämlich keine blasse Ahnung, aber da muss ich jetzt wohl irgendwie durch *seufz* Dabei wollte ich nur einen harmlosen Blog und mich nicht mit solchen Sachen beschäftigen müssen *doppelseufz*

    Die Problemstellung ist die: Wenn die Surfer sich eine gewisse Seite angesehen haben, dann dürfen sie sich eine andere gewisse Seit NICHT mehr ansehen dürfen. Und das glaubte ich eben mit Cookies am ehesten lösen zu können. Seht Ihr da vielleicht eine alternative, vielleicht einfachere Möglichkeit? Für mich seltsam ist halt, dass andere php-Schnipsel, z.B. einfach nur einen Text darstellen, einwandfrei funktionieren, einfach das Ding mit den Cookies nicht.

    Zurück zur functions.php. Welche ist da gemeint? Ich habe jeweils eine für jedes Theme und eine für das Theme „default“

  • Unfassbar!

    Ich habe in meinem ganzen Leben noch nie eine einzige Zeile php-Code geschrieben. Aber Dank Eurer Hilfe klappt das jetzt:

    PHP
    function umfragebogen()
     {
      if ( is_page(X) )
         {
          setcookie( 'umfrage', 'ausgefullt', time()+6000);
         }
     }
     
    add_action('get_header', 'umfragebogen');

    Wenn Ihr mir jetzt noch beim nächsten Schritt helfen könntet: Wenn jemand eine bestimmte Seite betreten möchte, und das Cookie ist bereits gesetzt, dann soll er automatisch auf eine andere Seite weitergeleitet werden.

  • Hi Folks

    Mir ist das jetzt nach einigen Irrungen und Wirrungen gelungen, und zwar mit folgendem Code:


    „X” und „Y” stehen für die jeweilige Page-ID. Der Code steht in der functions.php des aktivierten Theme und funktioniert einwandfrei. Seht Ihr da noch irgendwelche Nachteile?

Jetzt mitmachen!

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