我们可以在一台服务器上的两个子域中的两个WordPress安装中共享用户登录吗?

时间:2015-06-17 作者:Gaurav

我们在2个不同的子域中有2个WordPress站点,如test1.abc.comtest2.abc.com . 两个站点都有wp-require 插件已激活,只有登录的用户才能查看该站点。我们想制作一个系统,如果用户登录到一个站点,他应该自动登录到另一个站点。

What I did:

经过一些搜索,我知道我需要为两个网站使用一个数据库。因此,我完成了以下步骤:

我已经下载了test2.abc.com 站点并更改所有前缀wp_wpmo_, 在整个数据库中替换它,并将其上载到第一个站点的数据库中wp-config.php 定义第二个站点时,应使用第一个站点的用户表,而不是自己的用户表。

 define(\'CUSTOM_USERMETA_TABLE\', \'wp_usermeta\');
 define(\'CUSTOM_USER_TABLE\', \'wp_users\');
现在,第二个站点正在使用第一个站点的用户,我可以通过第一个站点的用户详细信息登录到第二个站点。

下一个问题是cookies,所以我在中添加了这些行wp-config 两个站点的。

define(\'COOKIE_DOMAIN\', \'.abc.com\');
define(\'COOKIEPATH\', \'/\');
现在我登录到test1.abc.com 当我去test2.abc.com , 它要求我登录。这意味着Cookie不会从第一个站点传递到第二个站点。

两个子域位于同一台服务器上,共享同一个数据库用户表。

我知道这是一个cookie问题,我已经阅读了很多关于这方面的文章,但他们都谈到在域及其子域之间共享cookie。这里我有两个子域。

2 个回复
SO网友:TheDeadMedic

看见my answer on this exact problem. 长话短说,您还需要定义COOKIEHASH, 否则,每个站点的登录cookie名称将不同:

define( \'COOKIEHASH\', \'randomhash\' );
确保更改randomhash 到一个真正的哈希,你可以grab one here.

SO网友:Mitul

Hi Multisite用户管理插件将帮助您

https://wordpress.org/plugins/multisite-user-management/

结束

相关推荐

Cookies in template

我需要根据cookies只显示一次页面的某些部分。主要问题是我只能在插件中设置cookie,挂起init操作。我已经读了20页的谷歌,这个网站,问了2个论坛,但我仍然有这个问题。任何帮助都将不胜感激!