当前位置:首页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:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    淘宝推出小微快采,抢占20万亿的B类采购需求

    淘宝推出小微快采,抢占20万亿的B类采购需求

    文/天下网商记者 周麟  C端属性明显的淘宝网,开始尝试新方向耕耘B端用户。  继开通企业店铺后,淘宝网推出了面向企业的专业市场小微快采,意欲解决企业在采购环节中的种种痛点。  其业务负责人青石向《天
    黄小厨——黄磊的一次“意外怀孕”

    黄小厨——黄磊的一次“意外怀孕”

    黄磊这个词条在百度百科里的最新热点是:因为太胖无缘《如懿传》。不过,他最近就把让他变胖的事儿吃,做成了一门生意。黄磊坦言,黄小厨的诞生其实来源于一次意外怀孕,没办法,那就生呗。    本文头图为黄磊在
    社区O2O创业报告:苦活累活怎么赚钱

    社区O2O创业报告:苦活累活怎么赚钱

    网易科技张钧泓 报道  编辑注:继昨天推出社区020的用户体验报告(见文底)后,网易科技今天继续推出社区020创业者报告,从创业的角度分析社区020的商业逻辑和商业模式。如果未来有什么领域会诞生比肩B
    Facebook五亿用户的Messenger首次植入手机游戏

    Facebook五亿用户的Messenger首次植入手机游戏

    [摘要]Facebook的移动广告业务获得高速增长,其中一个重要板块是专门针对手机游戏在内的移动软件的装机广告。  腾讯科技讯 移动聊天工具风靡全球,而在中日韩三国,聊天工具和手机游戏出现了融合,典型
    58彻底吃下赶集:通过基金间接收购其剩余股份

    58彻底吃下赶集:通过基金间接收购其剩余股份

    [摘要]58同城以有限合伙人身份参与创立了该私募基金。  腾讯科技 雷建平 8月11日报道  58同城与赶集的合并已进入到实质阶段,在赶集创始人杨浩涌入职58同城担任联席董事长、联席CEO之际,58同
    Google搜索开始支持比特币价格换算功能

    Google搜索开始支持比特币价格换算功能

    导读:继之前苹果放松相关政策后,如今 Google 同样在搜索结果中加入了比特币价格换算功能,比特币热潮有回归之势。  比特币热潮似乎又有回归趋势,继之前苹果放松相关政策后,如今 Google 同样在
    浅析:该和这些SEO优化方法说再见了

    浅析:该和这些SEO优化方法说再见了

    我们知道,SEO优化工作实际上是一件最为困难的工作,因为这和其他的一种有形的工作方法不一样,这是和搜索引擎打交道的一种工作,然而搜索引擎的算法却持续的在进行改变,尤其是近年来,智能技术的进步,越来越多
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面