有没有可能建立一个单一登录的BuddyPress网站网络,就像WordPress MU一样?

时间:2012-03-15 作者:abitgone

我们希望创建一个BuddyPress网站网络,这些网站共享一个共同的设计、一个共同的主题和一些共同的内容,但所有网络站点的用户群都相同。

每个用户都将“属于”一个网络站点,因此,虽然人们可以浏览伦敦、纽约和悉尼版本,但他们需要“属于”其中一个站点:

ldn公司。主站点。com纽约市。主站点。com syd公司。主站点。每个基于子域的BuddyPress站点将根据站点的位置提供不同的内容。登录到网络将意味着他们跨所有站点登录(SSO)。

WordPress、BuddyPress和/或WordPress MU是否可以实现这一点,或者这需要在现有代码的基础上进行一些重要的工作?(或者,在其他事情的基础上从头开始做这件事会更好吗?)

2 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

BuddyPress与WordPress多站点设置兼容。有几种不同的设置方法。

默认情况下,BuddyPress数据以网络范围的方式存储。一般来说,这意味着在站点网络中,只有一个站点专门用于BuddyPress功能/内容-您可能会认为这是一个更大的博客网络中的“社区”站点。然而,听起来这并不是你想要的。因此,还有一些其他选择。

第一个选项是一个名为BP_ENABLE_MULTIBLOG. 启用后,BuddyPress内容可以在安装的任何站点上查看,例如ldn。实例纽约市com。实例但是,内容仍然以安装范围的方式存储。也就是说,虽然您可以查看许多不同站点上的组、配置文件等,但它们都是相同的组、配置文件等。您可以阅读更多关于BP_ENABLE_MULTIBLOG 在BuddyPress Codex上,我最近试图详细说明用例(这是一个经常被误解的设置):http://codex.buddypress.org/bp_enable_multiblog/

如果您希望将BP内容从一个站点分离到另一个站点,以便伦敦组/配置文件/etc与纽约组/配置文件/etc等分开列出,那么还有第二个选项称为BP多网络。这是BuddyPress中一个相当新的功能(自BP 1.5以来),需要一些额外的网络插件(一个用来创建多个网络,如networks+http://wpebooks.com/networks/, 一个用于在这些网络中启用BP多网络功能https://wordpress.org/extend/plugins/bp-multi-network/). 请在此处阅读有关此功能的更多信息:http://wpmututorials.com/news/new-features/multiple-buddypress-social-networks/

如果你想要更复杂的东西,一些BP内容(比如,个人资料数据和友谊)在网站之间共享,但其他东西依赖于网站(比如组),这是可以做到的,但需要相当多的定制。我刚才描述的设置可以通过以下组合实现BP_ENABLE_MULTIBLOG 以及明智地使用组元数据(以便将某些组标记为“London”等)。以下是一个插件,它可能会让你有这样的想法:https://wordpress.org/extend/plugins/buddypress-group-tags/

SO网友:drebabels

您所描述的问题实际上正是Wordpress MU(我相信现在被称为Wordpress Multisite)的设计目的。因此,简单的答案是:只要所有内容都在子域上,如果使用Wordpress Multisite,那么SSO就没有问题。

要获得详细答案,请继续阅读:

使用Wordpress Multisite,所有用户信息存储在一个表(wp\\U users)中,而特定于站点的数据(如帖子、评论和标签)将在数据库中以站点/博客id作为前缀(类似于wp\\U 2\\U帖子,其中2是站点/博客id)。

登录会话在具有相同根域的站点之间共享(即ldn.mainsite、nyc.mainsite和syd.mainsite将共享一个登录会话),这意味着登录到其中一个站点的用户将能够移动到同一子域上的另一个站点,而无需再次登录(SSO处于最佳状态)。

但这里有一个陷阱,如果您的网络中有一个站点使用不同的根域,那么尽管用户登录信息(用户名/密码)是共享的(因为它仍然使用wp\\u users表),但登录会话不会共享,因此用户必须再次登录。

关于“归属”特征。。。我不太清楚你这是什么意思,但我相信(强调相信)wordpress会跟踪用户明确登录到你网络上的哪些站点。。。如果他们已经登录到某个站点,他们将出现在该站点的站点管理>用户列表以及网络管理>用户列表下。

结束

相关推荐

安装BuddyPress后恢复原始的WP管理员栏

我想在安装BuddyPress后重新启用原来的WP管理栏!define( \'BP_DISABLE_ADMIN_BAR\', true ); 完全禁用管理栏-不希望这样。This question 告诉我们检查BuddyPress Codex page, 我试着摆弄那些动作挂钩,但没有得到任何想要的结果。缺少什么?我们怎么才能拿回那个管理员酒吧?!