web-dev-qa-db-ja.com

ブログの作成者に関するマルチサイトユーザー同期の質問

以前は1つのwordpress buddypressセクションのあるサイトを使用していました(ログアウトした訪問者にはブログのみが表示されますが、ログインしているユーザーにはbuddypress領域が表示されます)。これは効果がないため、変換しました「パブリック」Webサイトがルートドメインで、「イントラネット」が/ teamサブディレクトリにあるマルチサイトにアクセスしました。ネットワークサイト管理者にアクセスすると、190人のユーザーが表示されます。パブリックWebサイト管理者(これは元のサイト)、190人のユーザーが表示されます。/teamサブサイトの管理者にアクセスすると、1人のユーザーしか表示されません。私はスーパー管理者です。何か奇妙に見えますが、バックエンドではWPにはユーザーテーブルが1つしかないため、理論的には問題ありません。

  • 私の公開Webサイトの投稿は、私のイントラネットサブサイトの一部として登録する人によって書かれています。
  • イントラネットは、メンバーが著者の経歴、プロフィール画像などを更新できる領域である必要があります。そこでは、新しい記事の下書きについても議論します。

私の質問は次のとおりです。メインメンバーサイトまたは/ 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マルチサイトユーザーの同期/同期解除ですが、問題が解決するかどうかは不明です。チームユーザーリストに表示されるように、各メンバーに「最後のアクティビティ」を追加する必要があります(私はこれが役立つかもしれないどこかで読んだ)?

1
Gaurav

他の誰かがこれにつまずいた場合、私が解決した答えは次のとおりです:

マルチサイトの場合でも、WPデータベースにはユーザーテーブルが1つしかありません。そのため、どこに登録してもかまいません。ただし、ユーザーがサインアップするときに適切に構成しない限り、ユーザーは彼らが最初に登録したサイトにのみ「タグ付け」します。そのサイトでのみ設定します。上記の目的を実行するように構成するには多くの方法があり、結局 Multi User Sync と呼ばれるプラグインを使用しました。

0
Gaurav