当前位置:首页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:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    又一互联网公司老板欠款7亿跑路:曾是当地明星创企

    又一互联网公司老板欠款7亿跑路:曾是当地明星创企

    不久之前,一百多名员工,还在一家有不小知名度、看似蒸蒸日上的互联网企业辛勤工作着,但情势却在一夜间剧变老板带着全家跑了!  而且,老板不只是带着全家跑了,还欠下一大笔钱,员工们已经两个月没拿到工资!据
    再有人问你为什么还在北上广 就这么回答他!

    再有人问你为什么还在北上广 就这么回答他!

    导语:从10月8日起,北京连发霾、空气重污染、大雾三道黄色预警,据说早上拉开窗帘,北京的小伙伴会以为自己瞎了。于是,有人在开窗吸了一口土之后,立刻决定辞职离开这里。那个永远缠绕纠结,阴魂不散的问题,跟
    新站长必用法宝:让一手投稿原创引领外链建设

    新站长必用法宝:让一手投稿原创引领外链建设

    前言  我在非凡网赚网 08398.com 上面看了很多有关外链建设的帖子,也见着无数网站经营的前辈,他们的经验和技巧对我的帮助很大。自己建设网站也有一年多的时间,但真正冷静下来经营网站,也许是从现在
    80%的营销策划难以奏效 只是因为这4件事没有做好

    80%的营销策划难以奏效 只是因为这4件事没有做好

    2015年除夕,我独自来到九寨,住进了一家叫九寨童话小酒店里。酒店距离沟口15分钟车程,说是酒店,其实更像民宿,二哥就是这家民宿的主人。  晚上5点多,我接到二哥邀请,说在他这里提供蹭饭服务。饭厅升着
    小创意品网络营销以冰箱贴为例 如何做好粉丝经济

    小创意品网络营销以冰箱贴为例 如何做好粉丝经济

    同样是搜索引擎,百度开始向O2O行业发力,力挺糯米网,而谷歌则不务正业,做无人汽车、智能设备、谷歌气球而国内最有互联网思维的小米,也向智能设备发力,在互联网最有前途的产业一个是颠覆,另一个则是创新,颠
    移动互联网创业或泡沫破灭:创投市场非理性繁荣

    移动互联网创业或泡沫破灭:创投市场非理性繁荣

    文/李东楼(微信号:lidonglou)  最近人人都在谈论股票,就连一向关注前沿互联网的科技圈也不能避免。作为一名小散,东楼入市短短两个月内就见证了股票从疯狂大涨到千里大溃败的惊险过程。而回过头来,
    网络营销该拿什么来拯救你

    网络营销该拿什么来拯救你

    在互联网腾飞的年代,所有企业和个人,都期待通过此舞台获得盈利,但不管是做搜索引擎营销还是网络营销,其实大家的目的基本相同,就是期待通过各种各样的方式,来让自己的产品或者服务获得不错的流量,获得精准客户
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面