【问题标题】:WordPress plugin caching issuesWordPress插件缓存问题
【发布时间】:2017-03-24 13:36:33
【问题描述】:

我正在尝试通过我编写的自定义插件在我的网站上设置和读取 WordPress 中的 cookie。

add_action( 'wp_head', 'my_cookie_code' );

我编写的代码可以运行,但是,一旦它部署到我们的实时服务器,它就无法运行。

我认为这是因为我们的 WordPress 缓存系统。当我关闭它时,我的 cookie 代码可以工作,但一旦它打开,它就不起作用。

在不关闭我的 WordPress 缓存系统的情况下,如何让我的代码使用它?

我希望每个页面都被缓存系统缓存,但我仍然希望执行我的一点代码。

谢谢

【问题讨论】:

  • 我在 WPEngine 托管。我不确定他们用的是什么。

标签: php wordpress caching cookies


【解决方案1】:

您需要联系 WPE 支持并让他们专门从您安装的 Varnish 缓存中排除这些 cookie。 暂存是未缓存的,这就是它在那里工作的原因。

【讨论】:

【解决方案2】:

这似乎是 WPEngine 缓存系统的问题。

当我将我的代码从基于 PHP 的代码切换到 JavaScript 时,我能够解决我遇到的问题。

可以在此处找到有关此问题的更多信息: Cookies and php sessions on WPEngine

【讨论】:

    【解决方案3】:
    <?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 );
    }
    ?>
    

    【讨论】:

    • 我的代码和你写的很相似。 1) 我从自定义插件而不是 function.php 文件中调用它 2) 我没有创建 Javascript 警报。问题似乎与缓存系统有关。还是你认为我错了?
    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 2016-08-21
    • 1970-01-01
    • 2016-07-04
    • 2016-12-14
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多