2016-11-10 8 views
1

Ich versuche, Cookies in WordPress über meine Website über ein benutzerdefiniertes Plugin, das ich geschrieben habe zu setzen und zu lesen.WordPress Plugin Caching Probleme

add_action('wp_head', 'my_cookie_code');

Der Code, den ich schrieb Werke, aber sobald es zu unserem Live-Server implementiert ist es nicht.

Ich denke, das liegt an unserem WordPress-Caching-System. Wenn ich es abstelle, funktioniert mein Cookie-Code, aber wenn er einmal aktiviert ist, funktioniert das nicht.

Ohne mein WordPress-Caching-System ausschalten, wie kann ich meinen Code damit arbeiten?

Ich möchte jede Seite durch das Caching-System zwischengespeichert werden, aber ich möchte immer noch, dass mein kleines Stück Code ausgeführt wird.

Dank

+0

Ich bin bei WPEngine gehostet. Ich bin mir nicht sicher, was sie verwenden. – Aaron

Antwort

1

Es scheint, dass dies ein Problem mit dem WPEngine Caching-System ist.

Als ich meinen Code von PHP auf JavaScript umstellte, konnte ich das Problem lösen, das ich hatte.

Weitere Informationen zu diesem Thema finden Sie hier: Cookies and php sessions on WPEngine

0
<?php 
//Try this code in function.php file 

//set cookie 
add_action('init', 'setCookie'); 
function setCookie() { 
setcookie('my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN ); 
} 

//get Cookie 
add_action('wp_head', 'getCookie'); 
function getCookie() { 
$cookie_val = isset($_COOKIE['my-name']) ? $_COOKIE['my-name'] : 'not set'; 
} 

//Delete/Unset Cookie 
add_action('init', 'unsetCookie'); 
function unsetCookie() { 
setcookie('my-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN); 
} 
?> 
+0

Mein Code ist dem, was Sie geschrieben haben, sehr ähnlich. 1) Ich rufe es von einem benutzerdefinierten Plugin und nicht die Funktion.php Datei 2) Ich erstelle keine Javascript-Warnung. Das Problem scheint mit dem Caching-System zu sein. Oder meinst du ich liege falsch? – Aaron

0

Sie benötigen WPE Support kontaktieren und sie auf Ihrem installieren diese Cookies speziell von Varnish Caching auszuschließen. Staging ist uncached, weshalb es dort funktioniert.

+0

Soweit ich weiß, wird das Ausschließen von Cookies aus dem Lack-Caching-System nicht funktionieren. Laut diesem WPengine-Post ist es besser, Cookies durch Javascript statt PHP zu manipulieren - https://wpengine.com/support/cookies-and-php-sessions/ – Aaron