当前位置:首页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精髓

    今天来聊聊网站内页怎么优化的经验,首先我们要知道,自己的网站是一个什么类型的网站。只要你是想通过网站seo优化来得到流量,那么就必须让每一个页面都具备排名的资格。我认为,一般来说网站的主要流量入口不是
    利用建站宝盒快速搭建一个三站合一的企业网站

    利用建站宝盒快速搭建一个三站合一的企业网站

    随着互联网的不断进步,人们生活方式和工作方式也在发生着快速变化,逐渐朝着网络化、快速 化、全面化发展。总所周知,中国互联网数量已经远超六亿,手机网民也已达到五亿人的规模,而仅手机微信注册用户就有十亿之
    我是这样看搜狗搜索与知乎合作的

    我是这样看搜狗搜索与知乎合作的

    几日前,卢松松有幸参加了搜狗搜索的产品发布会,邀请函介绍说是有一个神秘产品,心里非常期待,到了会场后才发现原来是:搜狗搜索与知乎合作,全面接入了知乎内容数据。  腾讯投资知乎,还撮合搜狗知乎合作,因为
    支付宝关闭双功能收款 商户收款方式归一

    支付宝关闭双功能收款 商户收款方式归一

    【亿邦动力网讯】1月23日消息,据亿邦动力网了解,支付宝已于日前发布中小商户双功能收款产品前台下线公告,商户以后只能申请单一接口收款。    支付宝双功能收款产品已被下线  公告显示,由于支付宝公司策
    BuzzFeed创始人:社交网络情商打败智商

    BuzzFeed创始人:社交网络情商打败智商

    [导读]在Facebook和整个社交分享世界里,有心远比有脑子更重要。    BuzzFeed创始人乔纳-佩雷蒂(腾讯科技配图)  腾讯科技讯(迭影)北京时间4月30日消息,据国外媒体报道,美国新闻聚
    大数据分析告诉你,什么样的文章能获得疯转

    大数据分析告诉你,什么样的文章能获得疯转

    社交媒体追踪服务分析工具BuzzSumo,2014年5月前后对社交媒体上超过1亿篇文章进行了分析,试图找出一个答案:  什么样的内容才能让用户乐于分享,获得病毒式传播?  这个大问题又内含或细分为一些
    SEO如何应对百度最新排名算法

    SEO如何应对百度最新排名算法

    每一篇文章都是一把钥匙,引导你打开知识的宝库,在这个宝库里面可能有很多的东西,可能有黄金遍地,可能有美女如云,或者帅哥如云。可能有你看到的室外桃园,不管你看到的东西是什么,半亩良田唯一的目的,就是要教
    利用热点事件营销引流上万

    利用热点事件营销引流上万

    8月份优衣库的事件很多人说是炒作,可是官方不承认这是炒作,但实际上很多商家却利用优衣库的事件火了一把,比如下面的这件衣服。    能够利用事件营销把一件又黄有暴力的衣服销售达到1000多件,算是一个非
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面