当前位置:首页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失败的优化案例

    引以为鉴 SEO失败的优化案例

    【导读】大家好了,好久没有和大家唠叨下了,这十几天的文章,都是在别人书本上摘要下来,分享给大家的。好像失去了妮子博客的价值了,其实妮子希望大家看完能去实践!而且优化越来越难了,做为专汽行业中,是否慢慢
    运营主管教你如何3分钟分析竞争对手的网站

    运营主管教你如何3分钟分析竞争对手的网站

    做网站运营主管这么多年一直负责各个企业的网站运营,经手的网站也不在少数,从小型企业站到大型门户,以及商城网站等等都离不开分析,其中最重要的也是最关键的就是分析竞争对手的网站,兵法有云知已知彼,百战不殆
    竞价推广如何屏蔽无效关键词

    竞价推广如何屏蔽无效关键词

    对于很多开通竞价的企业来说,造成广告成本浪费最严重的一个问题就是关键词的问题,如果你只是每天关注下重点关键词排名,每天看下账户消费了多少钱,如果是这样的话,那么每天因为关键词问题会浪费你至少20%的广
    用户体验设计人员的“体验专利”如何保护?

    用户体验设计人员的“体验专利”如何保护?

    最近身边很多同行问我如何写专利,正好借着这个机会分享一下我写专利的一些经验,纯粹浅谈,希望能解决用户体验人在写专利上的一些问题。  在常人看来,专利申请是非常神秘的,因为每一个专利技术都需要有十分丰富
    手游创业 需靠谱的5种特质

    手游创业 需靠谱的5种特质

    手游行业火,月收入过千万的曝出一大堆,必然吸引了大批有为青年抛家舍业。茶叔见过各式各样的手游创业团队,也亲眼目睹团队一飞冲天月入千万,也见证过团队解散重新找工作。在此,总结出几条自认为靠谱的手游创业过
    国家网信办官网发文警示微信标题党

    国家网信办官网发文警示微信标题党

    昨日,国家网信办官网发文严厉警示标题党、图片党,以下是全文:  移动互联网技术的快速发展以及微博、微信等社交平台的普遍应用,使得碎片化阅读逐渐成为人们阅读的主要方式。移动端的内容制作与PC端有着很大区
    百度站长平台:开放适配工具pattern提交效果佳

    百度站长平台:开放适配工具pattern提交效果佳

    上周负责开放适配工具的工程师找到站长学院,希望学院跟广大站长呼吁一下:使用平台开放适配工具提交PC-移动页面对应关系时,能用pattern方式就尽量别用URL方式,这样你好他好大家好。  原来是这样的
    教你苹果安卓手机微信聊天记录保存在哪个文件夹

    教你苹果安卓手机微信聊天记录保存在哪个文件夹

    很多人以为微信聊天记录是保存在腾讯服务器中的,其实事实并非如此,微信聊天记录就储存在我们的手机中,但是并非以明文进行保存,而是经过了严格加密(不同微信号使用不同的密钥进行加密)。但今天小编将教大家微信
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面