首先,找到确定主站的数据表前缀,肯定是一个站A先建立,第二个站B再建立,B站要共享A站的用户,那么就打开B站的wp_config.php 文件,然后插入如下代码:
define('CUSTOM_USER_TABLE', 'wp_users'); define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
这个地方一定要直接复制,避免字符出错,复制到等格式位置,然后数据用户都是共通的了,但是用A站账户登录B站会有这样的提示:
相关推荐:《WordPress教程》
这个需要做两步,第一步在phpmyadmin中执行如下语句:
INSERT INTO `dbname`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '1', 'wpen_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
第二步做一个插件,具体的代码如下:
<?php /** * @package user * @version 1.6 */ /* Plugin Name: userdb Description: 解决多wp网站用户共享,大杭州虹雅居原创插件,by:然子. Version: 1.6 Author URI: https://www.jinshare.cn/ */ //设置主站的前缀,其它网站都共享该网站的用户数据表 //添加功能到用户注册的钩子里 $main_prefix = 'wp_'; //设置子站的前缀,例如有两个子站,前缀分别为wpen_和wpcn_ $addi_prefixs = array('as_'); //添加功能到用户注册的钩子里 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 ) ) { if( count( $addi_prefixs ) > 0 ) { foreach( $addi_prefixs as $prefix ) { add_user_meta( $user_id, $prefix.'capabilities', $cap_val, true ); } } } } ?>
完整复制并保存为 userdb.php然后上传的插件目录启用就可以了。
以上是两个wordpress如何让数据互通的详细内容。更多信息请关注PHP中文网其他相关文章!