当前位置:首页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:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    Intel硬创?造物上海站,带您实现创业梦!

    Intel硬创?造物上海站,带您实现创业梦!

    2015年6月28日,intel硬享公社(CCE)将在上海南翔举办硬创造物沙龙活动。  创客一词来源于英文单词'Maker,是指出于兴趣与爱好,努力把各种创意转变为现实的人。在这个创新2.0的时代,人
    牛文文:重度垂直的时代 创业不做机会主义者!

    牛文文:重度垂直的时代 创业不做机会主义者!

    今天是创业创新的大好时机,但在大机会面前,我们不能做机会主义者。    5月7日,以创富2.0:匠心时代为主题的第三届劲霸创富汇大讲堂,在武汉举行。创业黑马董事长牛文文出席并发表匠心精神:在大机会面前
    3月被k站 起死回生记

    3月被k站 起死回生记

    3月百度k站,死了一大把网站,很多站点被放弃,也有很多站点还在坚持,笔者的玉石网也不幸被k,表现为快照不前,首页消失,收录停止,笔者结合经验和资料,在4月进行了大胆的调整,六月初回复排名和快照,下面就
    营销型网站建设应该从哪几点着手

    营销型网站建设应该从哪几点着手

    营销型网站建设应该从哪几点着手,什么是营销型网站建设?营销型网站建设是对网站的发展,整合了各种网络营销理念和网站运营管理方法,不仅注重网站建设的专业性,更加注重网站运营管理的整个过程,是企业网站建设与
    薅羊毛了,支付宝新福利百万体验金

    薅羊毛了,支付宝新福利百万体验金

    前两天刚云闪付的福利计划,这边支付宝就坐不住了。近日支付宝发布了新一期福利活动,通过玩游戏领取最高100万元的余额宝体验金,三天后本金收回收益归你,相当于白(zuo)得(meng)了68元钱。虽说绝大
    医院如何做好节日营销

    医院如何做好节日营销

    我们都知道节日营销的作用,不仅仅能够快速提高转化率,更为重要的是能够一步一步提升企业知名度以及巩固良好的形象。对于医院而言,节日营销更是需要合理把握。随着节日气氛的到来,不少民营医院都感受到无比沉重的
    微博:将加大对长文和视频内容扶持力度

    微博:将加大对长文和视频内容扶持力度

    今年前11个月,微博上垂直领域专业作者已经达到230万,覆盖47个行业,其中月均阅读量超过10万的头部作者,在微博获得收入超过2亿。    新浪科技讯 12月9日消息,今年前11个月,微博上垂直领域专
    换汤不换药,8张图告诉你H5广告的本质

    换汤不换药,8张图告诉你H5广告的本质

    本文是看了《如果H5不火了》一文,与几个广告业的朋友闲聊后,有感而发撰写的。当互联网、H5广告铺天盖地而来,传统广告公司显得有些不知所措,但是仔细研究,广告的本质并没有改变。    本文是看了《如果H
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面