我想要Multisite Wordpress Network.In当用户在一个站点登录时,可以选择登录微粒此用户的相关站点。
如果用户在一个站点登录。(在子域名上)用户也可以登录其他站点。有一些链接或选项。 (在子域名上)。所有网站都在同一个域中。
我试过https://codex.wordpress.org/Create_A_Network
。但这对我没有帮助。因为这里只有网络管理员可以添加主题/插件。并且只有网络管理员才能访问所有网站。
我已经尝试过这篇文章“https://kinsta.com/blog/share-logins-wordpress/”。但有了这个,我能够共享相同的用户凭证。没有任何链接或选项可以登录其他网站。
答案 0 :(得分: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/。
这对我有用。