解决方案:
我们的目标是要建立两个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。
第6步:当运行第二次安装,我们应该为WordPress的发现了一些从first_users表现有用户设置一个不存在的电子邮件地址的管理员用户。
欲了解更多详细信息https://kinsta.com/blog/share-logins-wordpress/.
这是为我工作。
非常感谢您的快速回复!看来,这是做我想做的事情的正确方法。我已经创建了网络,添加了根和子网站。我需要的是:当有人注册到根站点时,该用户将不必再次在子(站点)站点注册。从我读到的这个网络是可能的,但我必须找到办法做到这一点。 – manosim
这样的事情:http://wordpress.org/plugins/multisite-user-management/ – evanv
试过这一个,但即使在网络用户它显示用户注册在这两个网站,我仍然无法登录到子网站(从主网站注册)。同样在子站点的后端,用户不会出现。这很奇怪,因为在网络安装期间,我不必向子站点的wp-config添加任何内容。 – manosim