2014-02-07 27 views
3

我想要做的是共享2個或更多的Wordpress安裝在同一數據庫上的用戶憑據。我閱讀了很多教程和論壇,但沒有給出明確的答案。因此,根據WordPress的食品法典委員會([1]),所有我需要做的就是爲了切換表用戶和usermeta添加下面的wp-config.php文件(子安裝)代碼:Wordpress共享用戶數據庫的登錄

define('CUSTOM_USER_TABLE', 'main_users'); 
define('CUSTOM_USER_META_TABLE', 'main_usermeta'); 

這使得我使用根網站的用戶名和密碼登錄,但我收到消息

您沒有足夠的權限訪問此頁面。

然後我完全失去了。我檢查了[1]中所述的數據庫中的_capabilities,但仍然收到該消息。

任何幫助將非常感激,因爲我在這個爲期3天的工作。謝謝!

[1] http://codex.wordpress.org/Editing_wp-config.php#Custom_User_and_Usermeta_Tables

回答

4

這是不大去了解它的正確方法。如果你成功了,我想你會面對一些嚴重的安全漏洞。

相反,您應該考慮創建一個WordPress多站點安裝。多站點的細節在這裏:http://codex.wordpress.org/Create_A_Network

您還可以瞭解更多關於多站點位置:http://mashable.com/2012/07/26/beginner-guide-wordpress-multisite/

試圖讓兩個獨立的安裝信息共享,不在於攻擊這個問題的正常途徑......最有了這個要求,我見過有人使用Multisite。

+0

非常感謝您的快速回復!看來,這是做我想做的事情的正確方法。我已經創建了網絡,添加了根和子網站。我需要的是:當有人註冊到根站點時,該用戶將不必再次在子(站點)站點註冊。從我讀到的這個網絡是可能的,但我必須找到辦法做到這一點。 – manosim

+0

這樣的事情:http://wordpress.org/plugins/multisite-user-management/ – evanv

+0

試過這一個,但即使在網絡用戶它顯示用戶註冊在這兩個網站,我仍然無法登錄到子網站(從主網站註冊)。同樣在子站點的後端,用戶不會出現。這很奇怪,因爲在網絡安裝期間,我不必向子站點的wp-config添加任何內容。 – manosim

1

解決方案:

我們的目標是要建立兩個WordPress的網站將共享登錄和相同的用戶。一旦用戶訂購了一個網站,她將能夠訪問具有相同角色和功能的其他網站。

第1步:爲了共享相同的用戶和usermeta表,WordPress安裝必須共享相同的數據庫。 添加第一個wordpress安裝first_和第二個wordpress安裝表second_的前綴。在同一數據庫中。

第2步:當第一個WordPress網站啓動並運行時,我們可以編輯它的配置文件。打開/first/wp-config.php

,並添加了「停止編輯」評論上面下面幾行:

$table_prefix = 'first_'; 
define('WP_DEBUG', true); 
define('WP_DEBUG_LOG', true); 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors', 0); 

// custom users and usermeta tables 
define('CUSTOM_USER_TABLE', $table_prefix . 'users'); 
define('CUSTOM_USER_META_TABLE', $table_prefix . 'usermeta'); 

/* That's all, stop editing! Happy blogging. */ 

第3步:我們與第一次安裝完成。接下來,我們必須從第一個安裝文件夾複製wp-config.php,然後將其粘貼到第二個安裝的根文件夾中。請注意相應地更改$ TABLE_PREFIX值:

開放/second/wp-config.php.and上面添加以下行的 '停止編輯' 評論:

$table_prefix = 'second_'; 
    define('WP_DEBUG', true); 
    define('WP_DEBUG_LOG', true); 
    define('WP_DEBUG_DISPLAY', false); 
    @ini_set('display_errors', 0); 

     // custom users and usermeta tables 
    define('CUSTOM_USER_TABLE', 'first_users'); 
    define('CUSTOM_USER_META_TABLE', 'first_usermeta'); 

第4步:寫在這兩個wp-config.php共享cookie。

//Share cookies 
    define('COOKIE_DOMAIN', '.xyz.com'); 
    define('COOKIEHASH', 'aee53c017c29dc0d3ae37253fc8cbfd8'); 

步驟5:打開表 「first_usermeta」,並從柱meta_key複製 - first_capabilities和first_user_level到second_capabilities和second_user_level。 enter image description here

第6步:當運行第二次安裝,我們應該爲WordPress的發現了一些從first_users表現有用戶設置一個不存在的電子郵件地址的管理員用戶。

欲瞭解更多詳細信息https://kinsta.com/blog/share-logins-wordpress/.

這是爲我工作。