当单个用户登录一个Wordpress站点时,用户可以自动登录其他用户的相关站点

问题描述 投票:0回答:1

我想要Multisite Wordpress Network。当用户在一个站点登录时,可以选择登录微粒这个用户的相关站点。

如果用户在一个站点登录。(在子域名上)用户也可以登录其他站点。有一些链接或选项。 (在子域名上)。所有网站都在同一个域中。

我试过https://codex.wordpress.org/Create_A_Network。但这对我没有帮助。因为这里只有网络管理员可以添加主题/插件。只有网络管理员才能访问所有网站。

我已经尝试过这篇文章“https://kinsta.com/blog/share-logins-wordpress/”。但有了这个,我能够共享相同的用户凭证。没有任何链接或选项登录其他网站。

wordpress multisite codex
1个回答
0
投票

方案:

我们的目标是建立两个将共享登录和相同用户的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:运行第二次安装时,我们应该为admin用户设置一个不存在的电子邮件地址,因为WordPress会从first_users表中找到许多现有用户。

更多细节https://kinsta.com/blog/share-logins-wordpress/

这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.