当前位置:首页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:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    2015上半年假机报告:三星小米上榜最多!

    2015上半年假机报告:三星小米上榜最多!

    2015已过去一半,在这半年来,有超过2000万人次安装使用了鲁大师移动版,并且验机次数超过1100万,验出假机超过36万台,占验机总数的3.2%。其中,魅蓝Note占验机总数第一,幸运的是假机数未上
    加盟雪肌妮丝  “不想太累”创业开美容院

    加盟雪肌妮丝 “不想太累”创业开美容院

    加盟雪肌妮丝 不想太累创业开美容院  进入三伏天的武汉,热情似火,在八月即将来临的时刻,雪肌妮丝加盟部捷报频传。2015年7月30日,来自甘肃的加盟商金经理成功签约雪肌妮丝连锁加盟美容院。  走进接待
    玩转微信群:卖烧鸡月入20万 引300万风投

    玩转微信群:卖烧鸡月入20万 引300万风投

    为了推广烧鸡,付海宁建了一个500人的微信群。  在 大众创业 万众创新的浪潮下,互联网+创业成为潮流,而已成为朋友之间常用交流工具的微信等成为不少人创业的平台。部分创业者搭建起属于自己的微信群,他们
    关于SEO你必须掌握的六大知识点

    关于SEO你必须掌握的六大知识点

    SEO作为一种免费的推广方式,我们可以不用花资金就能实现推广的效果。正是由于这种原因,SEO成为了很多个人站长的不二选择。但是很多站长朋友只知道SEO,却不了解SEO,更是对一些SEO基础知识一点都不
    致新手站长:网上赚钱你准备好了吗?

    致新手站长:网上赚钱你准备好了吗?

    你赚钱了吗?你从一个外链专员、网站编辑、SEO、网络营销人员,到现在网站运营专员,为什么工资还是两千多块钱?看着身边的人都赚到了钱,自己内心总是焦急万分,同样是人差距为啥那么大呢?    新手站长们,
    整理B2C网站常用营销推广方案

    整理B2C网站常用营销推广方案

    一、推广目的  现阶段B2C网站流量来源比较低,没有流量就没有成交量,而在争取流量的同时,我们要想办法从流量里面抓客户,进行有针对性的营销手段,提高网站订单转换率。在网站运营初期,注册用户数和用户体验
    风险资本进入法律互联网创业意味着什么?

    风险资本进入法律互联网创业意味着什么?

    摘要:在涌动的资本大潮面前,法律互联网的创业者们应该张开双臂欢迎,拥抱资本的进入,但同时内心必须坚定。当然凡事有利必有弊,资本的进入也并非一定是好事。在挑选投资人和对待资本运作的方式上,创业者都需要时
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面