首先,找到確定主站的數據表前綴,肯定是一個站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然后上傳的插件目錄啟用就可以了。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦