問題描述

首先,Multisite 不是我正在尋找的。我有 5 個網站使用 Wordpress 所有在不同的域,我想要啓用用户帳户。我需要在整個網絡上共享用户數據,而在用户創建帳户時,他們也可以即時訪問所有其他網站。當我使用多站點時,我不建議使用 Wordpress:

If you plan on creating sites that are strongly interconnected, that share data, or share users, then a multisite network might not be the best solution. –http://codex.wordpress.org/Before_You_Create_A_Network (1st paragraph, 3rd sentence)

我試過使用這裏提到的 「共享用户表格技巧」http://wordpress.org/support/topic/multiple-sites-same-users-how 和這裏 http://xentek.net/articles/528/implementing-the-wordpress-shared-users-table-trick/和其他一些地方… 問題是這個信息是 2-7 歲,我正在使用 Wordpress 3.5.1 和這個”trick” 似乎不起作用。

我試圖將這段代碼插入到 $table_prefix 線周圍的 wp-config 中。

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

長篇小説,我不認為這個伎倆可以工作,因為我無法登錄到管理端的第二個網站。

關於什麼最好的方式鏈接這些數據的任何建議將是?

最佳解決方案

好的,首先,我覺得自己是一個白痴,儘管在我的辯護中,大多數談論這件事情的文章都沒有提到使這項工作非常關鍵的細節。答案是您需要在數據庫中為至少一個管理員設置權限。這個信息可以在 Codex 這裏找到:http://codex.wordpress.org/Editing_wp-config.php#Custom_User_and_Usermeta_Tables

在設置了 wp-config.php 文件後,您必須更改主 usermeta 表 (在我的情況下為 wp_usermeta) 字段 wp_capabilities 行和 meta_value 列。通過 phpMyAdmin 執行此操作

注意:對於至少一個用户管理員登錄,可以進行此操作。一旦您進入,您可以從後端調整所有其他用户/管理員角色。

對於創建的每個網站,需要將新的站點前綴分配給管理員用户角色。

在我的情況下,由於我目前只在 2 個網站上工作,現在看起來像這樣:

a:1:{s:13:"administrator";s:1:"1";}
tbs_capabilities = a:1:{s:13:"administrator";s:1:"1";}

第一行設置默認表前綴 (在這種情況下為 wp_) 的權限,第二行設置第二個網站的權限 (在本例中為 tbs_前綴) 。

感謝 brasofilo 的意見,指出我要進一步挖一下,終於解決我的問題!

我希望這個答案可以幫助那些遇到同樣問題的人。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。