以前は1つのwordpress buddypressセクションのあるサイトを使用していました(ログアウトした訪問者にはブログのみが表示されますが、ログインしているユーザーにはbuddypress領域が表示されます)。これは効果がないため、変換しました「パブリック」Webサイトがルートドメインで、「イントラネット」が/ teamサブディレクトリにあるマルチサイトにアクセスしました。ネットワークサイト管理者にアクセスすると、190人のユーザーが表示されます。パブリックWebサイト管理者(これは元のサイト)、190人のユーザーが表示されます。/teamサブサイトの管理者にアクセスすると、1人のユーザーしか表示されません。私はスーパー管理者です。何か奇妙に見えますが、バックエンドではWPにはユーザーテーブルが1つしかないため、理論的には問題ありません。
私の質問は次のとおりです。メインメンバーサイトまたは/ teamサブサイトに新しいメンバーを登録する必要があります。つまり、「register/join our team」リンクが http://main.com/register または http://main.com/team/register を指している場合です。 ?違いはありますか?マルチサイトのバックエンドを構成して、ブログが1つだけになり、すべての記事、下書きなどがメインサイトとチームサイト(たとえば、チームのイントラネット上の各メンバーのプロフィールページに、パブリックWebサイト用に作成したすべての投稿をリストしたいと思います)。
これが私がこれまでに試したものです(最後の行はブログの投稿を揃えていますが、メンバーは同期していません)。
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
プラグインもインストールしましたWordPressマルチサイトユーザーの同期/同期解除ですが、問題が解決するかどうかは不明です。チームユーザーリストに表示されるように、各メンバーに「最後のアクティビティ」を追加する必要があります(私はこれが役立つかもしれないどこかで読んだ)?
他の誰かがこれにつまずいた場合、私が解決した答えは次のとおりです:
マルチサイトの場合でも、WPデータベースにはユーザーテーブルが1つしかありません。そのため、どこに登録してもかまいません。ただし、ユーザーがサインアップするときに適切に構成しない限り、ユーザーは彼らが最初に登録したサイトにのみ「タグ付け」します。そのサイトでのみ設定します。上記の目的を実行するように構成するには多くの方法があり、結局 Multi User Sync と呼ばれるプラグインを使用しました。