wordpress子目录双语网站

本文介绍了如何在WordPress中创建一个中英文双语网站,通过在主网站下创建子目录并安装另一个WordPress实例,使用不同的数据库表前缀实现用户共享。通过修改wp-config.php文件和添加代码,实现了主站和子站用户账户的互通登录。
摘要由CSDN通过智能技术生成

  领导突发奇想要给已经做好的wordpress做一个中英文转换网站,经过多次百度,参照大神们的一些经验,在本地实现了两个站共用账户。

我使用的wordpress是4.7,主题是avada5.05.

思路是在主网站下件一个en文件夹。再装多一个wordpress。形成一个主网站,一个子网站。


主站中文站是localhost/wordpress;  子站英文站是:localhost/wordpress/en.

主站表前缀是wp_; 子站表前缀是en_;

因为我的avada主题是有很多原有插件,同时也导入了dome,所以装主站像正常的安装。怎么安装请看百度,这里就不多说。

装好一些试运行正常后。我们就可以开始子站安装了。

我们吧主站所有的文件复制一份放到en文件夹:

复制到en文件夹下的wp-config.php删掉。这回在浏览器访问localhost/wordpress/en.,进入子站的安装,数据库与主站的一模一样,只是数据库表前缀不一样;

把安装主站时的表前缀wp_改为en_(这个是我的表前缀,你也可以改成你喜欢的xxx_)。一路安装下次,这样我们的子网站就安装好了。

    

这时我们的主站与子站还是相互独立的,没有任何的关联。我主站的账户是:admin 密码123456,子站的账户是:adminen 密码是123456.

主子站的账户这时都是只是在各自的网站上能登陆,还不能互窜登录。装完就是得到两套相同的数据表,只是表前缀不一样而已。

  现在开始进入我们的用户共享

我们注册用户信息主要保存在wp_users与 wp_usermeta表

      与


1. 首先我们在子站en的 wp-config.php 加入下面代码:

define('CUSTOM_USER_TABLE', 'wp_users'); //wp_为主站点的数据库前缀
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');

就像这个位置

这回子站就与主站建立了联系。这时你用子站的账号:adminen 123456登录子站:localhost/WordPress/en 这时已经登录不了子站了,因为子站的en_users表已经关联到了主站的wp_users表了。所以这时子站开始注册的账号就不能用了。

2.接下来我们就要对注册时对注册的账户进行处理了。让注册的用户的信息都带上主子表的表前缀wp_、en_。

主站的主题function.php中加入下面代码:

add_action( 'user_register', 'dup_capabilities' );
add_action('profile_update', 'dup_capabilities');
function dup_capabilities( $user_id ){
    //在这里设置数据表前缀,不分主站子站,全部写上即可。
    $prefixs = array('wp_','en_');
    global $table_prefix;
    $cap_val = get_user_meta( $user_id, $table_prefix.'capabilities',true);
    if( !empty( $cap_val ) ) {
        foreach( $prefixs as $prefix ){
            if( $prefix != $table_prefix )
                update_user_meta( $user_id, $prefix.'capabilities', $cap_val );
        }
    }
}

如下图


到现在为止,我们在主站注册的账户,就可以在子站localhost/WordPress/en登录了


3同理。我们子站注册的的账户我们也要能在主站上登录。保险起见,我把代码复制一份到子站en的主题function.php 上

这样基本完成了wordpress双语网站的建立。其实就是两个相对独立wordpress共用了注册表。其他的都是对立的。这样我们就可以根据不同客户管理两个wordpress网站了。


我其中很多都是参考其他大神的,他们有更深入的讲解其中的原理,这里也附上他们的链接以便大家共同学习。

http://www.solagirl.net/multi-wordpress-sites-sharing-user-data.html

http://www.moke8.com/article-16218-1.html

内容大同小异,就是wordpress版本的问题。

加:入 

蛋疼。。。。。。。。。。。。。。。。。。。。。。我上传的图片过程不见了。。。。。。。。。第一次写还不知到怎么用。。。。。。。。。。。。。。。。。


接下来是补充双语网站共用cookie。在主站登录,登录子站就可以直接登录了,不用在次登录

参考http://www.solagirl.net/multi-wordpress-sites-sharing-user-data.html博主的做法。本人亲测是可行的,就不在写了。


1. 打开主站的wp-config.php,找到如下代码, 如果宏定义的值不是随机字符串,点击这里生成。

1
2
3
4
5
6
7
8
9
10
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值