首頁  >  文章  >  CMS教程  >  兩個wordpress如何讓資料互通

兩個wordpress如何讓資料互通

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-07-15 14:36:033200瀏覽

兩個wordpress如何讓資料互通

首先,找到確定主站的資料表前綴,肯定是一個站A先建立,第二個站B再建立,B站要共享A站的用戶,那麼就開啟B站的wp_config.php 文件,然後插入如下程式碼:

define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');

這個地方一定要直接複製,避免字元出錯,複製到等格式位置,然後資料使用者都是共通的了,但是用A站帳戶登入B站會有這樣的提示:

兩個wordpress如何讓資料互通

相關推薦:《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 = &#39;wp_&#39;;
//设置子站的前缀,例如有两个子站,前缀分别为wpen_和wpcn_
$addi_prefixs = array(&#39;as_&#39;);
//添加功能到用户注册的钩子里
add_action( &#39;user_register&#39;, &#39;dup_capabilities&#39; );
function dup_capabilities( $user_id ) {
global $main_prefix, $addi_prefixs;
//获取该用户权限的值,因为不同角色的值是不同的
if( $cap_val = get_user_meta( $user_id, $main_prefix.&#39;capabilities&#39;, true ) ) {
if( count( $addi_prefixs ) > 0 ) {
foreach( $addi_prefixs as $prefix ) {
add_user_meta( $user_id, $prefix.&#39;capabilities&#39;, $cap_val, true );
}
}
}
}
?>

完整複製並儲存為userdb.php然後上傳的插件目錄啟用就可以了。

以上是兩個wordpress如何讓資料互通的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn