So legen Sie benutzerdefinierte Cookies vor der Ausgabe fest

Was ist eine todsichere Möglichkeit, Cookies zu überprüfen / setzen, bevor die PHPHeader gesendet werden? Gibt es eine Aktion oder einen Filter, der der beste Ort ist, um eine setcookie() function zu setcookie() ?

Solutions Collecting From Web of "So legen Sie benutzerdefinierte Cookies vor der Ausgabe fest"

Das hängt davon ab, ob Sie die Benutzerauthentifizierung von WordPress überprüfen müssen. Wenn Sie wissen möchten, ob sie eingeloggt sind, klicken Sie auf 'init' . Sonst, je früher desto besser.

Wenn es etwas ist, das bei jedem Laden der Seite ausgetriggers werden sollte, und nur auf das Vorhandensein des Cookies prüft und nicht auf die APIs von WP tippen muss, würde ich es in ein benutzerdefiniertes MU-Plugin namens 0000a.php , um das sicherzustellen Es wird ausgetriggers, bevor Nicht-Core-Dateien versehentlich Header senden konnten.

Ich denke functions.php wird definitiv vor jeder Ausgabe verarbeitet und eignet sich für Erweiterungen.

Wie für hook, vielleicht after_setup_theme , kommt es direkt danach.

Sie können eine function zum Überprüfen oder Setzen eines Cookies erstellen, aber Sie müssen nach wp-config.php suchen, denn wenn Sie eine Weiterleitung verwenden, wird die Datei direkt vor index.php auf der Weiterleitung aufgerufen.

Dies ist von einem Plugin, dass Mark Jaquith Age Verification schrieb, dass der Benutzer ein Alter Verifikationsformular ausfüllen muss, bevor Sie die Website betreten. Ich habe es für eine Likör-, Bier-, wite-Site modifiziert , die ich gemacht habe.

 if ( !defined( 'ABSPATH' ) ) { // we're being called directly, to check the cookie if ( file_exists('../../wp-config.php') ) include('../../wp-config.php'); elseif ( file_exists('../../../wp-config.php') ) include('../../../wp-config.php'); else die('Could not find wp-config.php'); 

Ein besserer Weg könnte jetzt existieren. Das Plugin wurde vor über einem Jahr geschrieben.