当前位置:首页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:二次  二次开发  开发  教程  手记  站点  用户  用户数  户数  数据  
  • 相关搜索
图片推荐
    跟踪竞争对手外推情况怎么样做快又准?

    跟踪竞争对手外推情况怎么样做快又准?

    跟踪竞争对手外推情况怎么样做  在众多的推广策略中,跟踪竞争对手外推情况也是内行人常用的一个办法,通过对排名靠前的同行佼佼者的网站排名情况进行跟踪能够快速的找到高效率的网络外推平台,起到事半功倍的效果
    游族玩转话题营销 明星+微博话题成爆点

    游族玩转话题营销 明星+微博话题成爆点

    近日,多以贱萌形象活跃在综艺节目的陈赫在微博上再次引发热议,他在微博中晒出一手玩《少年三国志》、一手玩魔方的图片,并配上跟着我左手右手一个慢动作的文字,立即引发大量关注,当天转评量突破18000条,并
    seo身份让我销售工作事半功倍

    seo身份让我销售工作事半功倍

    之前是从事SEO工作的,其实一开始也不是从事SEO工作的,一开始上班的话干的是技术活,那个时候是在一家IDC(域名和虚拟主机)公司上班,然后从事的是技术售后的问题,就是处理客户的网站的各种打不开的问题
    直播新规出台:平台资质需认证 新闻类应先审后发

    直播新规出台:平台资质需认证 新闻类应先审后发

    文/腾讯科技 李儒超  直播新规终于落地。  根据中国网信网,国家互联网信息办公室11月4日发布《互联网直播服务管理规定》(下简称《规定》)。有关负责人表示,出台《规定》旨在促进互联网直播行业健康有序
    优化效果不明显?总是被降权?多半是网站底子差!

    优化效果不明显?总是被降权?多半是网站底子差!

    今天写的这篇文章,是非凡网赚网 08398.com 营销这段时间与企业站长之间沟通的总结。可能文章写的有点宽泛,但事实确实是这么回事。那么,文章主要核心思想是这样的:一些企业或个人站长所运营的网站,在
    王通:效果最持久的营销策略

    王通:效果最持久的营销策略

    最好的营销策略是能够实现以下三个结果:  1、轻松获得粉丝,解决信任  2、赚着钱做推广,效果垫付  1、玩着做的越久,效果越好  这是什么策略呢?  那就是打造个人品牌!  如何快速的打造个人品牌,
    2016年度十大危机公关事件 几家欢喜几家愁?

    2016年度十大危机公关事件 几家欢喜几家愁?

    2016年企业危机连绵不断,从整个一年犯了水逆的百度,到一年一度的315公关劫,到和颐酒店女生遇袭,再到最近惹了一身骚的支付宝圈子新媒体时代,危机爆发的速度和传播的不可控性难以想象,这更是对各个企业公
    90块钱搞定碎屏 iPhone6换屏动手教程

    90块钱搞定碎屏 iPhone6换屏动手教程

    保修期内的iPhone6过年的时候摔碎了,真是乐极生悲。想想一年内先后经历了运营商偷跑流量、手机被偷,喜闻乐见的碎屏怎么又能少的了我。但是作为一个具备专业素养的手机编辑岂能被这些东西吓倒?根据亲身经历
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面