解决方案 :
我们的目标是建立两个共享登录名和相同用户的 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. 并在“停止编辑”注释上方添加以下行:
$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/。
这是为我工作。