在多个安装之间共享登录数据/Cookie

时间:2014-01-27 作者:Jason

我在文档根目录下安装了WordPressa domain, 然后在an immediate subdirectory 这样我就可以为这两个版本使用不同的主题。我想链接这两个网站的登录名,这样你就不必登录两次就可以使用这两个网站。

我的编码技能不是很好,所以最好是一个简单的补丁或一个现成的插件。

2 个回复
SO网友:bosco

您可以在不同的WordPress安装之间共享用户表,方法是安装第二个站点(“站点B”)以使用原始站点的(“站点A”)数据库,然后选择在安装过程中使用备用表前缀,以便将其余数据分开。

问题的第二部分是在两个安装之间共享登录cookie(WordPress用来跟踪登录/会话数据)。为了做到这一点,您必须为两个站点使用相同的cookie路径。

安装后,打开wp-config.php 在站点B的安装根目录中归档,并在数据库配置后不久添加(或替换)以下行,根据需要修改它们以适应您的配置:

$cookiehash = md5("http://www.bradleycountypulse.com/");  // Use Site A\'s URL

define(CUSTOM_USER_TABLE,\'wp_users\');           //Change \'wp\' to match the prefix set during
define(CUSTOM_USER_META_TABLE,\'wp_usermeta\');   //  Site A\'s installation
define(\'COOKIEPATH\', \'/\');                      //This path should reference Site A\'s root
define(\'SITECOOKIEPATH\', \'/\');                  //Should match \'COOKIEPATH\'
define(\'COOKIEHASH\', $cookiehash );
Note 只有当两个安装位于同一个域上时(您的安装也是如此!),这才会起作用。

另一种解决方案是将整个系统设置为单个multisite installation.

另一个解决方案(尽管需要更多的腿部工作)是custom page templates 在单个安装上。

SO网友:RafaSashi

我发布了一个基于以下文章的wordpress插件:

http://subinsb.com/set-same-cookie-on-different-domains

User Session Synchronizer 允许您keep the user logged in from one wordpress to another 通过同步用户数据和cookie session 基于已验证的电子邮件。

这个user email is encrypted 基于当前用户ip和同步wordpress安装共享的密钥。

您可以在此处找到插件:

https://wordpress.org/plugins/user-session-synchronizer/

并在此处参与:

https://github.com/rafasashi/user-session-synchronizer

结束