为什么我的临时子域没有发送WordPress_Logging_in Cookie?

时间:2018-12-14 作者:Pikamander2

我们有一个自定义登录和帐户创建插件。它在我们的生活环境中工作得很好(example.com) 但不是在我们的暂存环境中(test.example.com).

当我们打电话时wp_insert_user 通过AJAX函数,它成功创建用户并返回其ID。wp_signon 也似乎有效。但在这两种情况下,用户实际上并没有登录到登台环境。

在浏览了Chrome的开发工具之后,我意识到实时环境set-cookie: wordpress_logged_in_... 就像它应该做的那样,但登台环境不是。

错误日志中没有这方面的信息,如果我们在登台环境中禁用所有其他插件,就会发生这种情况。

这可能是什么原因?我们如何让它像预期的那样发送登录cookie?

1 个回复
最合适的回答,由SO网友:Pikamander2 整理而成

我注意到登台环境的wp配置中有不同的内容。php和。htaccess文件。我把它们改得更接近现场环境。

当我在那里的时候,我注意到一些不同的内容与之前安装在登台环境中的各种缓存插件有关。绝望中,I reinstalled all of those plugins through wp-admin and then uninstalled them.

令人惊讶的是,这解决了Cookie无法发送的问题。但是,Cookie的路径或域不正确。经过反复试验,我终于成功了adding these seven lines to wp-config.php:

define(\'ADMIN_COOKIE_PATH\', \'/wp-admin\');
define(\'COOKIE_DOMAIN\', \'\');
define(\'COOKIEPATH\', \'/\');
define(\'SITECOOKIEPATH\', \'/\');
define(\'DOMAIN_CURRENT_SITE\', \'test.example.com\');
define(\'WP_HOME\',\'https://test.example.com\');
define(\'WP_SITEURL\',\'https://test.example.com\');
我的假设是,当我们卸载一个或多个缓存插件时,它本身并没有清理干净。

相关推荐

Setting Cookies

我创建了两个主题(浅色和深色),但我不知道如何设置cookie,以便用户在页面之间导航或下周返回站点时,主题保持不变。是否有一个简单的脚本可以添加到现有代码中?HTML<html> <head> <link id=\"lightTheme\" rel=\"stylesheet\" type=\"text/css\" href=\"styleSheetLightTheme.css\"> <link id=\"darkTheme\" r