当前位置:首页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的朋友找到了笔者,两人相谈半个多小时,其中的一个话题就是如何证明自身价值,问起原因才知道这位朋友被老板打击得不轻,做SEO这一行业,受到打击质疑并不奇怪,这位朋友问了笔者一个难题:老板
    A5营销:企业,地域排名你做好了吗?

    A5营销:企业,地域排名你做好了吗?

    现在一说到SEO排名,通常的认为都是:全国都出现排名,但是有些网站,未必需要全国都出现排名,只要在某一个地区出现排名,那么它就是成功的!相对来说,这样的竞争将更为轻松,但是真正做的人却少之又少,或者说
    硅谷知名投资人经验分享:创业者为什么要学会讲故事

    硅谷知名投资人经验分享:创业者为什么要学会讲故事

    本文从一位硅谷的知名投资人的视角出发,与读者和创业者分享关于投资的收获与经验。这位投资人认为,讲好故事,是作为创业者的一项重要的技能。不要小看这个,因为,讲故事可以说是我们创业做事的基础内容,融资、招
    引领企业建站新风尚 微企点打造H5建站第一品牌

    引领企业建站新风尚 微企点打造H5建站第一品牌

    微企点,专为创业者而生的免费好用的H5建站平台。这是一个神奇的建站平台,让你的梦想不再眼巴巴。  用微企点建网站,上手快,颜值高、跨平台、自传播、全免费。  微企点H5建站,堪比制作PPT一般,上手快
    2013年搜索引擎大盘点,痛苦和爱交织

    2013年搜索引擎大盘点,痛苦和爱交织

    在互联网实用主义中,搜索引擎可以与社交、电商并列前三。回归到web1.0的信息缺乏时代,搜索引擎的作用远不明显,这座信息水库还能够满足用户使用,在web2.0的信息泛滥时代,搜索引擎的作用就非常巨大了
    SEO的核心是用户体验OR用户忠诚度

    SEO的核心是用户体验OR用户忠诚度

    SEO优化的核心是忠诚度还是用户体验?首先我要给SEO用户体验这个词加个双引号,因为这是个概念模糊的一个词,甚至我们所理解的SEO用户体验这个词并不是真正的SEO用户体验,而是那些善于做SEO营销的人
    好久不斗嘴 李国庆再喷刘强东磨刀宰商超

    好久不斗嘴 李国庆再喷刘强东磨刀宰商超

    7月22日消息,日前,在步步高20周年庆典上,当当网CEO李国庆在回答主持人京东做O2O胜与败时称:京东肯定会胜,但刘强东的一贯思路是先招商,然后背后磨合霍霍向羔羊(品牌商),等你进来了再宰你。  对
    高一度网络营销外包为深圳企业网站稳定运营提供保障

    高一度网络营销外包为深圳企业网站稳定运营提供保障

    SEO,无论是对于运营网站的站长还是对于网站本身都非常重要,提升网站流量,打响网站知名度,通过优质服务留住客户,让网站获得更长的生存期,是几乎无论什么类型的网站都会走的一条路。对于一个网站而言,SEO
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面