首先,Multisite不是我要找的。我有5个网站使用Wordpress所有在不同的领域,我想启用用户帐户。我需要用户数据通过整个网络共享,当用户创建一个帐户时,他们可以即时访问所有其他网站。在使用Multisite时,Wordpress并不推荐我想做的事情:
如果您计划创建强互联、共享数据或共享用户的站点,那么多站点网络可能不是最佳解决方案。-http://codex.wordpress.org/Before_你_创建_一个_网络 (第1段,第3句)
我尝试使用这里提到的“共享用户表技巧”( http://wordpress.org/support/topic/multiple-sites-same-users-how )和这里的http://xentek.net/articles/528/implementing-the-wordpress-shared-users-table-trick/以及其他一些places...the问题,即这些信息有2-7年的历史,我使用的是Wordpress 3.5.1,而这个“技巧”似乎行不通。
我尝试将这段代码插入到$table_prefix
行的wp中。
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
长话短说,我认为这个技巧不再有效,因为我无法登录到管理端的第二个网站。
对于连接这些数据的最佳方式,有什么建议吗?
发布于 2013-02-12 07:22:50
好吧,首先,我觉得自己像个白痴,尽管在我的辩护中,大多数关于这一点的文章都没有提到一个非常重要的细节。答案是,您需要为数据库中的至少一个管理员设置权限。此信息可在法典中找到:http://codex.wordpress.org/Editing_wp-config.php#自定义_用户_和_用户元_表格
在设置了wp-config.php文件之后,您必须更改主usermeta表(在我的例子中是wp_usermeta)字段wp_capabilities行和meta_value列。通过phpMyAdmin这样做。
注意:至少对一个用户管理员这样做才能登录。一旦进入后台,您可以调整所有其他用户/管理角色。
对于创建的每个网站,它需要有新的站点前缀指定管理用户角色。
在我的例子中,由于我现在只在两个站点上工作,所以看起来如下所示:
a:1:{s:13:"administrator";s:1:"1";}
tbs_capabilities = a:1:{s:13:"administrator";s:1:"1";}
第一行为默认表前缀设置权限(在本例中为wp_),第二行设置第二个网站的权限(在本例中为tbs_前缀)。
谢谢你的评论,我要再深入一点,最终解决我的问题!
我希望这个答案能对其他有同样问题的人有所帮助。
发布于 2014-06-02 03:59:07
我不得不创建一个新行:
meta_key='tbs_capabilities' meta_value='a:1:{s:13:"administrator";b:1;}'
和user_id=1
。你描述的方法行不通。
https://wordpress.stackexchange.com/questions/85489
复制相似问题