2014-02-07 21 views
3

我想要做的是共享2个或更多的Wordpress安装在同一数据库上的用户凭据。我阅读了很多教程和论坛,但没有给出明确的答案。因此,根据WordPress的食品法典委员会([1]),所有我需要做的就是为了切换表用户和usermeta添加下面的wp-config.php文件(子安装)代码:Wordpress共享用户数据库的登录

define('CUSTOM_USER_TABLE', 'main_users'); 
define('CUSTOM_USER_META_TABLE', 'main_usermeta'); 

这使得我使用根网站的用户名和密码登录,但我收到消息

您没有足够的权限访问此页面。

然后我完全失去了。我检查了[1]中所述的数据库中的_capabilities,但仍然收到该消息。

任何帮助将非常感激,因为我在这个为期3天的工作。谢谢!

[1] http://codex.wordpress.org/Editing_wp-config.php#Custom_User_and_Usermeta_Tables

回答

4

这是不大去了解它的正确方法。如果你成功了,我想你会面对一些严重的安全漏洞。

相反,您应该考虑创建一个WordPress多站点安装。多站点的细节在这里:http://codex.wordpress.org/Create_A_Network

您还可以了解更多关于多站点位置:http://mashable.com/2012/07/26/beginner-guide-wordpress-multisite/

试图让两个独立的安装信息共享,不在于攻击这个问题的正常途径......最有了这个要求,我见过有人使用Multisite。

+0

非常感谢您的快速回复!看来,这是做我想做的事情的正确方法。我已经创建了网络,添加了根和子网站。我需要的是:当有人注册到根站点时,该用户将不必再次在子(站点)站点注册。从我读到的这个网络是可能的,但我必须找到办法做到这一点。 – manosim

+0

这样的事情:http://wordpress.org/plugins/multisite-user-management/ – evanv

+0

试过这一个,但即使在网络用户它显示用户注册在这两个网站,我仍然无法登录到子网站(从主网站注册)。同样在子站点的后端,用户不会出现。这很奇怪,因为在网络安装期间,我不必向子站点的wp-config添加任何内容。 – manosim

1

解决方案:

我们的目标是要建立两个WordPress的网站将共享登录和相同的用户。一旦用户订购了一个网站,她将能够访问具有相同角色和功能的其他网站。

第1步:为了共享相同的用户和usermeta表,WordPress安装必须共享相同的数据库。 添加第一个wordpress安装first_和第二个wordpress安装表second_的前缀。在同一数据库中。

第2步:当第一个WordPress网站启动并运行时,我们可以编辑它的配置文件。打开/first/wp-config.php

,并添加了“停止编辑”评论上面下面几行:

$table_prefix = 'first_'; 
define('WP_DEBUG', true); 
define('WP_DEBUG_LOG', true); 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors', 0); 

// custom users and usermeta tables 
define('CUSTOM_USER_TABLE', $table_prefix . 'users'); 
define('CUSTOM_USER_META_TABLE', $table_prefix . 'usermeta'); 

/* That's all, stop editing! Happy blogging. */ 

第3步:我们与第一次安装完成。接下来,我们必须从第一个安装文件夹复制wp-config.php,然后将其粘贴到第二个安装的根文件夹中。请注意相应地更改$ TABLE_PREFIX值:

开放/second/wp-config.php.and上面添加以下行的 '停止编辑' 评论:

$table_prefix = 'second_'; 
    define('WP_DEBUG', true); 
    define('WP_DEBUG_LOG', true); 
    define('WP_DEBUG_DISPLAY', false); 
    @ini_set('display_errors', 0); 

     // custom users and usermeta tables 
    define('CUSTOM_USER_TABLE', 'first_users'); 
    define('CUSTOM_USER_META_TABLE', 'first_usermeta'); 

第4步:写在这两个wp-config.php共享cookie。

//Share cookies 
    define('COOKIE_DOMAIN', '.xyz.com'); 
    define('COOKIEHASH', 'aee53c017c29dc0d3ae37253fc8cbfd8'); 

步骤5:打开表 “first_usermeta”,并从柱meta_key复制 - first_capabilities和first_user_level到second_capabilities和second_user_level。 enter image description here

第6步:当运行第二次安装,我们应该为WordPress的发现了一些从first_users表现有用户设置一个不存在的电子邮件地址的管理员用户。

欲了解更多详细信息https://kinsta.com/blog/share-logins-wordpress/.

这是为我工作。