当前位置:首页wordpress二次开发教程手记:多站点的用户数据共享 举报文章

wordpress二次开发教程手记:多站点的用户数据共享

作者:admin    来源:用户投稿    时间:2015.6.11   

  最近一个客户要求小V帮他们公司站点做一个英文版本,并且要求中文版和英文版两个站点的用户数据可以互通而且不影响站点的正常运行。好吧,开始蛋疼的折腾,首先看了下wordpress的官方文档:《wordpress数据结构图》发现wordpress的用户数据表(wp_users和wp_usermeta)是相对独立的,那么我们就可以直接将两个站点的用户数据库共享即可,不用用户数据考虑会对两个站点中其他数据所造成的影响了。下面小V来说说解决方法:

  假设我们有两个wordpress站点,一个为cn.v7v3.com(数据表前缀为v7v3cn_)另一个为en.v7v3.com(数据表前缀为v7v3en_),我们将cn.v7v3.com作为主站点,将en.v7v3.com作为主站的一个英文版的副站点。

  首先打开en.v7v3.com的wp_config.php文件,并加入以下代码:

  define('CUSTOM_USER_TABLE', 'v7v3cn_users'); //v7v3cn_为主站点的数据库前缀

  define('CUSTOM_USER_META_TABLE', 'v7v3cn_usermeta');

  加入以上代码后两个站点之间的用户数据就实现了初步的互通,但是如果用主站的用户去登录副站点会提示没有足够的权限。原因是因为主站储存的用户权限值是以v7v3cn来开头的,以主站的管理员为例,管理员用户ID为1,角色是administrator,则表中就有这样一条记录:

  user_id->1, meta_key->v7v3cn_capabilities, meta_value->a:1:{s:13:"administrator";s:1:"1";}

  而英文副站点的数据库中却没有以v7v3en_开头的权限值记录,所以造成权限不够的提示。解决方法是运行一下SQL语句:

  //向数据库中添加v7v3en_开头的权限记录值

  INSERT INTO `dbname`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '1','v7v3en_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

  这样做仅仅使用户id为1的管理员可以正常登陆这两个网站,如果创建了新的用户,无论是管理员还是普通用户,都会被提示权限不足,解决方法是在用户的注册钩子添加一个SQL数据库操作:

  //设置主站的前缀,其它网站都共享该网站的用户数据表

  $main_prefix = 'v7v3cn_';

  //设置子站的前缀,前缀为v7v3en

  $addi_prefixs = array('v7v3en_');

  //添加功能到用户注册的钩子里

  add_action( 'user_register', 'dup_capabilities' );

  function dup_capabilities( $user_id ) {

  global $main_prefix, $addi_prefixs;

  //获取该用户权限的值,因为不同角色的值是不同的

if( $cap_val = get_user_meta( $user_id,$main_prefix.'capabilities', true ) ) {
好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    苏宁8.18机“惠”难得,ThinkPad三重大礼提前送

    苏宁8.18机“惠”难得,ThinkPad三重大礼提前送

    想玩游戏,电脑卡卡卡太倒胃口?通宵加班做设计,电脑死机全丢失?开会到一半,电量就拖后腿了?出差奔波的路上,轻微颠簸硬盘就坏了? 还在为选购一台靠谱的笔记本电脑伙伴而发愁吗?还在对那些品质优良但价格昂贵
    细看A5与chinaz站长网的投稿差别

    细看A5与chinaz站长网的投稿差别

    作为一名草根,有做网站的爱好,也想把自己的网站做的出名的点,让更多的人知道。不图赚钱,但至少有人知道我的网站时心里也有一种自豪感撒。可惜,我的网站估计只有我自己知道。来自网络的流量都是偶然,没有一个人
    刘强东5000亿税收真相:京东因连亏几乎从未纳税

    刘强东5000亿税收真相:京东因连亏几乎从未纳税

    摘要:实际情况,因为一直亏损,京东几乎没有缴纳过企业所得税京东财报显示,截止2014年前9个月,京东共计缴纳的企业所得税仅仅为407万。  京东CEO刘强东在员工年会上说,京东销售收入将超过一万亿人民
    再战好搜,360搜索大局能否避免“不了了之”

    再战好搜,360搜索大局能否避免“不了了之”

    对于搜索产品的窥视,360可以说是从来没有放弃过。从综合搜索到360搜索,360也在尝试中不断摸索。可以说为了给自己的搜索产品搞出名堂,360也是用尽了各种方法,甚至是将官司打到了极致,但是在普通百姓
    艾依琳养生除湿贴总代教你怎么包装产品

    艾依琳养生除湿贴总代教你怎么包装产品

    不管是做微商也好,电商也罢!如果你不懂得包装自己的产品,那么你将会做的很累,同时还得不到相应的回报!如果你是电商,还有可能会进入价格战。  作为艾依琳养生除湿贴总代的我经常会默默的逛别人的朋友圈,其中
    马东牵手腾讯视频发大招饭局的诱惑为何如此嗨

    马东牵手腾讯视频发大招饭局的诱惑为何如此嗨

    在刚结束不久的暑期档,《拜托了冰箱》《放开我北鼻》《约吧大明星》等网综火爆霸屏,不仅让腾讯综艺的品牌得到了极大彰显,更是让众多用户感受到网综的魅力。借此东风,9月25日晚8点,一档“认真吃饭”的通告类
    江湖微装修系统 PK 微信第三方开发平台

    江湖微装修系统 PK 微信第三方开发平台

    江湖微装修系统昨天已经震撼发布了,QQ上面有不少的朋友问我们你的微装修系统和传统的微信第三方开发平台相比有什么优势?因为咨询的朋友比较多,我们就在官网中专门写一篇文章把我们的微装修系统和传统的微信第三
    人受得气才成得器 创业者的胸怀是被委屈撑大的

    人受得气才成得器 创业者的胸怀是被委屈撑大的

    导读:人受得气,才成得器是我小的时候母亲经常教导我的一句话。这句话让我从小便明白了一个道理:人要想成才,受委屈这一关是免不了的。也正是因为很早便懂得这个道理,所以日后无论经历什么样的委屈,我的心态都很
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面