当前位置:首页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:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    SEO必知的100个网站优化问答:精选10问(上)

    SEO必知的100个网站优化问答:精选10问(上)

    网站优化的问题一直都是有的,之前写的SEO网站优化问答系列也取得不错的效果,鉴于后来很多人过来问木木SEO一些问题,本人把之前的100问和这些问题结合起来总结出了10个比较有代表性的问答,由于是精选,
    如何利用事件营销一天获得35万微信粉丝

    如何利用事件营销一天获得35万微信粉丝

    看到这个标题,我想很多人已经做好了拍砖的准备,其实我自己也做好了被拍的准备。第一次看到关于事件营销的文章是之前在松松的博客上看了一篇《如何利用热点事件普及SEO新思维》的文章,于是从此之后就迷恋上了事
    微信粉丝如何查看粉丝活跃度

    微信粉丝如何查看粉丝活跃度

    微信粉丝,对于我们来说,我们需要的不仅仅是粉丝的数量,而且是需要查看我们粉丝的活跃度。  之前我们一直强调我们需要粉丝量,但是对于我们来说如果你的粉丝量不够活跃的话,那么对于我们后期的运营来讲是没有什
    我爱骡:如何利用百度知道推广淘宝客

    我爱骡:如何利用百度知道推广淘宝客

    目前很多人都在用百度知道来做淘宝客的推广,可是大多数人的推广效果并不理想,这是为什么呢?我们来逐个分析,就我目前的观察,百度知道的推广大致分为以下几个类型,我们以祛痘产品为例来分析。  一、直接带链接
    对话李一男:一位被光环笼罩的创业者

    对话李一男:一位被光环笼罩的创业者

    李一男  新浪科技 周雪昳  四月初的北方,天气渐渐回暖,有人打趣说黑皮衣加衬衫几乎成了这个季节里IT男的统一工装。意料之外情理之中的是,这位在互联网界颇有传奇色彩的男人也是这样地打扮风尘仆仆地赶来接
    “互联网+”搅热企业建站市场 自助建站系统成首选

    “互联网+”搅热企业建站市场 自助建站系统成首选

    很多企业主抱怨说,自从互联网+被提出来之后,自己就很少能睡个安稳觉,看着自己的老对手互联网小动作不断,自己真的有心无力。要钱没钱,要技术没技术,而且招一个懂行的人动不动就百万年薪,心真的好累。  互联
    服务高校电商人才 国美搭建校园市场菁英交流平台

    服务高校电商人才 国美搭建校园市场菁英交流平台

    近日,国美互联网+校园市场菁英交流会在重庆、沈阳等地高校举办,受到同学们的广泛关注与欢迎。大学生创业家协会、大学生创业者、互联网公司的校园大使、校园微商,校园自媒体人等与国美的代表济济一堂,围绕校园互
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面