Cookie in WordPress erzeugen und damit Funktionen abrufen
Veröffentlicht am: 25.06.2023 | Letztes Update am: 13.07.23 | Lesezeit: 5 Minute/n

Wofür werden Cookies genutzt?
Cookies werden in Webanwendungen verwendet, um den Sitzungsstatus des Benutzers aufrechtzuerhalten und personalisierte Inhalte bereitzustellen. Aber nicht nur das, sondern auch, um das Nutzerverhalten zu verfolgen und gezielte Werbung auszuliefern. Sie erleichtern zudem den Einkaufsvorgang in Online-Shops und dienen auch dem Datenschutz. Das Generieren von Cookies oder das Generieren von Cookie-basierten Funktionen muss nicht kompliziert sein, deshalb haben wir einen Beispielcode vorbereitet:

Funktionsumfang:
– PHP-Funktion, die nur dann aktiv wird, wenn das Cookie “hnp_cookie_1” vorhanden ist.
– Im Beispiel aktiviert sich, falls Funktion aktiviert wird, eine Textanzeige mit “Cookie gefunden – Funktion aktiviert”.
– Die Funktion / der Text kann durch ein Shortcode mit dem Namen [hnp_custom_shortcode] im Frontend (oder Backend) eingebunden werden.

// Funktion zur Überprüfung des Cookies und Anzeige des Textes
function hnp_custom_function_with_cookie() {
  // Überprüfe, ob das Cookie vorhanden ist
  if (isset($_COOKIE['hnp_cookie_1'])) {
    // Ausgabe des gewünschten Textes
    echo 'Cookie gefunden - Funktion aktiviert';
  }
}
add_shortcode('hnp_custom_shortcode', 'hnp_custom_function_with_cookie');

Das passende Cookie automatisch erzeugen:

function hnp_set_cookie() {
  setcookie('hnp_cookie_1', 'cookie_value', time() + 3600, '/');
}
add_action('init', 'hnp_set_cookie');


Cookie erzeugen, durch Betätigung eines Buttons:

function hnp_set_cookie_button() {
    ?>
    <form method="post">
        <input type="hidden" name="hnp_set_cookie" value="1" />
        <input type="submit" value="Cookie setzen" />
    </form>
    <?php
}

function hnp_set_cookie() {
    if (isset($_POST['hnp_set_cookie'])) {
        setcookie('hnp_cookie_1', 'cookie_value', time() + 3600, '/');
        // Optional: Füge hier weitere Aktionen hinzu, die nach dem Setzen des Cookies ausgeführt werden sollen
    }
}

add_action('init', 'hnp_set_cookie');
add_shortcode('hnp_set_cookie_button', 'hnp_set_cookie_button');

Nutzbarer WordPress Code:

// Funktion zur Überprüfung des Cookies und Anzeige des Textes
function hnp_custom_function_with_cookie() {
  // Überprüfe, ob das Cookie vorhanden ist
  if (isset($_COOKIE['hnp_cookie_1'])) {
    // Rückgabe des gewünschten Textes
    return 'Cookie gefunden – Funktion aktiviert';
  }
}
add_shortcode('hnp_custom_shortcode', 'hnp_custom_function_with_cookie');

// Funktion zum Erzeugen des Cookie-Buttons
function hnp_set_cookie_button() {
    ob_start();
    ?>
    <form method="post">
        <input type="hidden" name="hnp_set_cookie" value="1" />
        <input type="submit" value="Cookie setzen" />
    </form>
    <?php
    return ob_get_clean();
}

// Funktion zum Setzen des Cookies
function hnp_set_cookie() {
    if (isset($_POST['hnp_set_cookie'])) {
        // 3600 = Sekunden, somit bleibt das Cookie 1 Stunde
        // Oder diese Zeile nutzen für 1 Jahr:  setcookie('hnp_cookie_1', 'cookie_value', strtotime('+1 year'), '/');
        setcookie('hnp_cookie_1', 'cookie_value', time() + 3600, '/'); 
        // Optional: Füge hier weitere Aktionen hinzu, die nach dem Setzen des Cookies ausgeführt werden sollen
    }
}

// Hook, um das Setzen des Cookies aufzurufen
add_action('init', 'hnp_set_cookie');

// Shortcodes registrieren
add_shortcode('hnp_set_cookie_button', 'hnp_set_cookie_button');
add_shortcode('hnp_display_cookie_button', 'hnp_display_cookie_button');

// Shortcode zum Anzeigen des Cookie-Buttons
function hnp_display_cookie_button() {
    // Überprüfe, ob das Cookie bereits gesetzt ist
    if (!isset($_COOKIE['hnp_cookie_1'])) {
        return do_shortcode('[hnp_set_cookie_button]');
    }
}

Mit dem Shortcode:[hnp_custom_shortcode] wird der Inhalt ausgegeben, welcher nur aktiv ist, wenn das Cookie gesetzt wurde. In diesem Fall der Text: “Cookie gefunden – Funktion aktiviert”

Cookie Button – 2 Möglichkeiten:
1. Mit dem Shortcode: [hnp_set_cookie_button] wird ein dauerhafter Button angezeigt, welcher nach Betätigung das passende Cookie erzeugt.
2. Mit dem Shortcode: [hnp_display_cookie_button] zeigt denselben Button an, aber nur dann, wenn das Cookie noch nicht gesetzt wurde. Ansonsten wird nichts angezeigt.

Fertigen Code als Test-WordPress-Plugin herunterladen:


(Runterladen -> In der WordPress Plugin Sektion installieren & aktivieren -> Das Plugin ist direkt aktiv und die Shortcodes können genutzt werden)

Erweiterte Erklärung:
Der obige Code ermöglicht die Überprüfung des Vorhandenseins eines Cookies und die Anzeige eines Textes – basierend auf dem Cookie-Status. Es gibt zwei Hauptfunktionen und zwei zugehörige Shortcodes.

Die Funktion hnp_custom_function_with_cookie() überprüft, ob das Cookie mit dem Namen “hnp_cookie_1” vorhanden ist. Wenn das Cookie gesetzt ist, wird der Text “Cookie gefunden – Funktion aktiviert” zurückgegeben.

Die Funktion hnp_set_cookie_button() generiert einen Button zum Setzen des Cookies. Beim Klicken auf den Button wird das Cookie mit dem Namen “hnp_cookie_1” für eine Stunde gesetzt.

Die Funktion hnp_set_cookie() wird aufgerufen, wenn die Seite initialisiert wird. Wenn der Button zum Setzen des Cookies geklickt wird (identifiziert durch $_POST[‘hnp_set_cookie’]), wird das Cookie mit dem entsprechenden Namen und Wert sowie einer Ablaufzeit von einer Stunde gesetzt. Sie können auch zusätzliche Aktionen nach dem Setzen des Cookies hinzufügen.

Die Funktion hnp_display_cookie_button() überprüft, ob das Cookie bereits gesetzt ist. Wenn das Cookie nicht vorhanden ist, wird der Shortcode [hnp_set_cookie_button] zurückgegeben, der den Button zum Setzen des Cookies anzeigt.

Durch das Hinzufügen der Shortcodes [hnp_custom_shortcode] und [hnp_display_cookie_button] in Ihren WordPress-Beiträgen oder -Seiten können Sie den Text ausgeben bzw. den Cookie-Button anzeigen, abhängig vom Cookie-Status.

Cookies sind lediglich auf der Erstellungs-Domain gültig, inklusiv allen Subdomains. Sollte aber ein Cookie Domain übergreifend oder auch Server übergreifend Funktionen auslösen, so wird eine Token-basierte Authentifizierungssystems-Funktion mit PHP benötigt:
Hierbei ein Beispiel einer solchen Funktion:

// Funktion zum Generieren eines Tokens
function generate_token() {
    $token = bin2hex(random_bytes(32)); // Generiert einen zufälligen Token-Wert
    setcookie('auth_token', $token, time() + 3600, '/', 'homepage-nach-preis.de'); // Setzt das Cookie für die Domain homepage-nach-preis.de
    return $token;
}

// Funktion zur Überprüfung des Tokens
function verify_token($token) {
    // Überprüfe, ob das übergebene Token mit dem im Cookie gespeicherten Token übereinstimmt
    if (isset($_COOKIE['auth_token']) && $_COOKIE['auth_token'] === $token) {
        return true; // Token ist gültig
    } else {
        return false; // Token ist ungültig
    }
}

// Beispiel für die Verwendung der Token-Funktionen

// Token generieren und setzen
$token = generate_token();

// Überprüfen, ob das Token gültig ist
if (verify_token($token)) {
    echo 'Token ist gültig';
} else {
    echo 'Token ist ungültig';
}

Avatar
Homepage-nach-Preis

Homepage-nach-Preis DE ist eine Werbeagentur für Onlinemarketing und aktiv in der Webentwicklung tätig. Spezialisierungen wie Suchmaschinenoptimierung (SEO), Webdesign und Conversion sind feste Bestandteile des Unternehmens..

View admin Posts


↩ Zurück zur Blogübersicht

Die Webseite ist gerade offline.

>