当前位置:首页教程中心网站教程WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

首先我要讲一下关于这件事的经过,在很久很久以前(两年前)我就在想:“🤔我们的网站即然都是WordPress,下面有这么多用户都在用着我们的一些产品,但是每到一个站点都要重新注册一个账号,这很痛苦,说实话这真的不方便”于是就开启了长达两年的各种想解决方案。说真的我没什么技术,都是自学的,单纯爱好写代码或搭建一些很有成就感的东西,今年8月份也是把统一账号的系统做完了,也是自我感觉很成功的一种感觉,我确实很喜欢被代码折磨;所以你们可能也知道…我把WP改成了网盘,改成了多用户可视化建站,改成了OAuth服务器,改成了二级域名解析管理平台,改成了云服务器控制平台。说起来很离谱,我自己都感觉离谱。大家可以期待一下,以后代码完善好都会免费公布出来。

项目的启动

前两天有个小兄弟联系我,说:“哥,你那个登录系统怎么卖的,想购买”后来我答应免费给他用,但后来听了他的需求,感觉并不适用我这套系统,我这套系统是基于OAuth的第三方登录(类似这玩意,我也说不清楚)。他的需求是在他的任意网站的登录表单都可以用一个账号登录(这个我还是说不明白,但是可以参考网易公司的网站或产品,都是用网易邮箱账号登录的,而不是使用XXX授权登录。)于是我就想到了一种可以适用他的这种方案。

解决方案

目前想到的办法是多个WordPress共用一个数据库,适用表前缀作为区分;也就是安装WordPress时看到的“wp_”这个。本次介绍适用三个站做演示,各位大佬也可以使用演示站的数据进行登录和测试。最开始其实打算使用WordPress的网络模式,但是有很多地方不足,很多插件或者主题有冲突,在使用时有的地方还很别手,所以就放弃了。如果大家有什么新的解决办法也可以一起讨论出来。毕竟开源才是贡献,我也很希望帮到大家,因为我一开始就是没有什么人帮我,我真的很感谢张源源当初能在我什么都不懂的时候一点一点带着我写代码,真的非常感谢你们真的感谢!。

搭建开始

首先我再这里以一个数据库名为“ABCDEFG”及内部包含三个WordPress的数据,表单分别为主数据库表前缀“A_”、分站“B_”、分站“C_”。

用户数据我这里存在了A_内。当然你们可以随便弄这个前缀,只要你的站不一样就行。如果你的站没有建在一个数据库内,那么很抱歉,请自行查找修改WordPress数据库表前缀的办法,修改后全部导出,并统一导入到一个数据库内,在您做些时,一定一定要提前做好备份!,全站备份,数据库也记得备份!

用户数据站:a1.muooy.cn 分站:b2.muooy.cn 分站:c3.muooy.cn

目前我创建了用户为“user2@u.cn”密码为“user2pw”各位可以使用这个账号和密码在这三个网站登陆进行测试看看是不是你们需要的效果(已关闭测试站)。

首先将WordPress安装至一个数据库内,现在您应该有三个表前缀,请您记住这三个表前缀,什么?刚把网站创建完就把表前缀给忘了???好吧,那你的记性和我差不多。如果忘记了请在你网站的目录找到个文件名为“wp-config.php”的文件,那么好请点进去(我这里用宝塔演示)

WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

就是个这个样子的代码,在差不多68行左右,你就能看到,那么这个就是你网站的数据库标前缀,其他网站的也是这样查看,各位大佬应该都知道的。

那么好,到这步你应该已经安装了两个或三个或更多,这个时候只需要你做下一步工作;假如说你有三个网站,你把其中的A_表前缀的网站作为存用户数据的网站,那么这个时候需要你把其他的两个网站甚至更多或者你只建了两个网站,反正就是除了这个网站之外的网站,都需要打开“wp-config.php”这个文件并且需要给他加上一些奇奇妙妙的代码(bushi)正常的代码。

这两行代码是将网站的用户数据使用指定表。那么这两行加载哪呢,加载数据库名和密码那个位置上面就是可以的了,什么?你不会加?请复制我的代码至

WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

看到了吗,加载这个位置就可以了,我图片里第20和21行,但是你那里有没有加别的东西我就不知道了,反正就是你的数据库配置代码上方即可。此时你的两个站已经链接完了,可以去分站登陆你主站的管理员账号(诶☝️🤓这个时候你会发现,可以登陆了!但是登陆后台显示没得权限)没得权限怎么办呢,我来教你,首先把网站删了,数据库删了,服务器删了(bushi)

这个时候请您点开您的数据库列表(不会写代码的请安装phpmyadmin)我这里也用这个演示,请先打开宝塔数据库列表,找到你装的数据库,然后点管理

WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

进入后首先找到你的主站数据表,我这里是A_为存用户数据的A_usermeta的表单

WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

点开A_usermeta的表单后你就能看到下面图片的内容,然后点击前面的复制按钮,系统会自动给你跳转到个页面,在这个页面你会看到一大堆表格,如果看不懂的话就会说:“啊这机霸都是啥啊,完全看不懂啊,我该干啥啊,调啥啊”诶!我不告诉你!(装比已起飞)点开后您仅需要按照图二的方式修改即可,将您想给权限的站点的表前缀修改一下即可,如图如A是用户数据,授权给B那么就要这样改。如果你有多个站请按照此方式继续复制并修改即可。如果你有100个站,那么请删除跑路(那就慢慢加吧),这老板纯纯想要要累死人。如果你是老板的话…请当我没说。

WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

如果你已经弄完了,那么你再使用管理员的账号进行登录你就会发现很神奇的事情,登陆成功了!那么你以后管理这些站点时您只需使用一个账号即可管理所有的站点。那么你还会问:“我这网站是多用户的网站啊,要不然我弄这个干嘛,总不可能注册一个我去添加一次吧”有些主题不用管,一样可以用,但是为了不会出现这种问题可以按照下面的步骤去设置(只设置在你存用户的主站内)找到你主题的functions.php文件并打开找到个合适的位置(这个我没法演示了,每个主题都不一样,基本上不报错就没问题)

添加完每次用户注册后都会自动添加每个网站的权限,用户就可以每个站都能登陆了,如果不确定可以在后台添加一个用户,看看其他站能不能登录到后台。

尾声废话

到这里全部搭建过程就已经结束了,有一些代码借鉴了一些别人的东西。

 

 

温馨提示:

文章标题:WordPress多站共用一个用户数据表,实现用户在任何一站注册即可登录在任何一个站

文章链接:https://www.muooy.cn/5669.html

更新时间:2025年11月07日

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:305582964@qq.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读用户协议免责声明

给TA打赏
共{{data.count}}人
人已打赏
网站教程

子比主题功能 - 后台以该用户登陆

2025-10-22 23:16:06

网站教程

WordPress报错:Briefly unavailable for scheduled maintenance. Check back in a minute”的解决方法

2025-11-12 23:14:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
今日签到
搜索

你有新的私信

请务必要查看您的私信哟~~