具有相同用户数据库的多个WP安装

时间:2013-06-16 作者:ArgGeo

我正在创建一个电子商务网站。我正在使用woocommerce和我购买的一些很酷的扩展。我需要制作2个网站,但将用户数据库(购买、订阅购买等)以及产品存储在一个数据库中。其余内容应不同(页面、帖子等),以便管理员在登录到同一个站点时可以看到从site1和site2购买的内容。这可能吗?对不起,我的英语不好。

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

您可以相当轻松地共享用户。

基本上,两个站点将使用相同的数据库(在wp-config.php), 但每个人都会有自己独特的$table_prefix.

从那里,您可以指定custom user and user meta tables 对于每个站点都是相同的。

<?php
// site 1 wp-config.php
$table_prefix = \'site1_\';
define(\'CUSTOM_USER_TABLE\', \'custom_users\');
define(\'CUSTOM_USER_META_TABLE\', \'custom_usermeta\');
对于站点二。。。

<?php
// site 2 wp-config.php
$table_prefix = \'site2_\';
define(\'CUSTOM_USER_TABLE\', \'custom_users\');
define(\'CUSTOM_USER_META_TABLE\', \'custom_usermeta\');
这将有效地隔离每个站点的内容,但允许它们共享相同的用户群。当然,这也意味着在一个网站上编辑用户会改变另一个网站上的用户。

WooCommerce使用custom post types 作为订单、订阅等的容器,因此您无法在应用程序级别轻松地在两个站点之间“共享”它们。你可以用这样的东西MySQL triggers 从一个站点到另一个站点自动更新订单,但这似乎很脆弱。

SO网友:user7403562

我在这两个网站都做过。

define(\'CUSTOM_USER_TABLE\', \'custom_users\');
define(\'CUSTOM_USER_META_TABLE\', \'custom_usermeta\');
我已经将3000多名用户从第一个站点导入到第二个站点。(第二个站点是新的)当我尝试登录第二个站点时。它已登录,但找不到用户角色,因此无法进入管理面板。所以我手动更正了第二个站点中的用户角色。现在运行良好。然而,新用户没有问题。

结束

相关推荐

在wp_database中的哪些位置定义了可用角色?

我上榜是为了测试我在多站点网络上使用的插件的私有beta版。插件作者在其中有添加自定义角色的代码。他们有一个bug,它删除了为用户提供除一个自定义角色之外的任何角色的功能。当我访问时../wp-admin/network/site-users.php, “添加用户”角色下拉列表仅显示此插件添加的一个角色。change role下拉菜单显示所有WP默认角色,以及此插件和其他插件添加的一些额外角色。如果我试图将一个用户更改为这些角色之一,我会得到一个“你不能给用户这个角色”错误页面。我一直在与开发人员讨论这个