I used to have a single wordpress site with a buddypress section (logged out visitors would see the blog only, but logged in users would see the buddypress area). I realised this was ineffective so i converted it to a multisite, where my "public" website was the root domain, and my "intranet" was at /team subdirectory. When I visit the network site admin, I see 190 users. When I visit the public website admin (which was the original site), I see 190 users. When I visit the /team subsite admin, I only see one user: me, the superadmin. Something looks odd, but I know that at the back-end, WP has only one users table so things should theoretically be fine.

  • The posts on my public website are written by people who register to be part of my intranet subsite.
  • The intranet should be the area where members can update their author bio, their profile image, etc. We also discuss new article drafts there.

My questions are: Should new members register on my main root site, or on the /team subsite. That is, should the "register/join our team" link point to http://main.com/register or http://main.com/team/register ? Does it make a difference? How do I configure the backend of my multisite so that there is only one blog, and all articles, drafts, etc are shared across my main site and my team site (for example, I want each member's profile page on the team intranet to list all the posts that they have written for the public website).

Here is stuff that I have tried thus far (the last line aligns the blog posts, but doesn't sync the members):

wp-config.php

define( 'WP_DEBUG', false );
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wordpress2/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define ( 'BP_ROOT_BLOG', 2 ); // "2" is the team subsite $id

bp-custom.php

define ( 'BP_ENABLE_MULTIBLOG', true );
add_filter( 'bp_is_multiblog_mode', '__return_true' );

define ( 'BP_ROOT_BLOG', 3 );
add_filter( 'bp_get_root_blog_id', 'filter_root_blog_id' ); // return blog ID in

I also installed a plugin WordPress Multisite User Sync/Unsync but not sure if that solves my problem. Should I add a "last activity" to each member so that they appear in my Team users list (I read somewhere this might help)?

有帮助吗?

解决方案

If anybody else stumbles on this, here is the answer i worked out:

Even for multi-site, there is only one users table in your WP database. So it does not matter where they register. However, unless you configure it properly when they sign up, the user will be "tagged" to the site that they first registered on, and only on that site. There are many ways to configure to do what I wanted above, and I ended up using a plugin called Multi User Sync.

许可以下: CC-BY-SA归因
scroll top