アクティビティログとWordPressマルチサイト
アクティビティログプラグインはWordPressマルチサイトネットワークに対応しています。ネットワーク全体で有効化して単一場所から全サイトを監視することも、必要に応じて個別サイトで有効化することも可能です。本記事ではマルチサイトでの有効化方法と、サイト固有のフィルタリング機能の使用方法について説明します。
マルチサイトネットワークでの有効化
マルチサイト環境では、アクティビティログは次の2つの方法で有効化できます:
ネットワークの有効化— ネットワーク管理 › プラグインに移動し、アクティビティログをネットワーク全体で有効化してください。これにより、ネットワーク内の全サイトでプラグインが自動的に有効化され、各サイトごとにログデータベーステーブルが作成されます。ネットワークに新規追加されたサイトでは、プラグインが自動的に有効化されます。
サイトごとの有効化— 各サイトのプラグイン画面から、特定のサイトのみにプラグインを有効化できます。これにより、監視対象サイトを細かく制御できます。
プラグインがネットワーク全体で有効化されると、イベントログに記録されます。 network_wide: true イベントメタデータにフラグを設定することで、ネットワーク全体のプラグイン変更とサイトごとの変更を区別できます。
イベントの記録方法
アクティビティログに記録されるすべてのイベントには、 サイトID イベントが発生したサイトのWordPressブログIDに対応するフィールド。標準的なシングルサイトインストールでは、これは常に 1マルチサイトでは、各サブサイトが独自のブログIDを持ちます。
これは、ネットワーク全体のすべてのイベントが単一のログテーブルに記録されることを意味します。wp_dactlog_activity_log各行は元のサイトにタグ付けされています。サイトIDによるフィルタリング、エクスポート、クエリをいつでも実行できます。
管理画面でのサイト別フィルタリング
特定のサイトの管理エリアからアクティビティログを表示する場合(アクティビティログ › アクティビティログ)、ログには自動的にそのサイトに関するイベントのみが表示されます。
ネットワーク内の全サイトにわたるイベントを表示するには、ネットワーク管理エリアからアクティビティログにアクセスしてください。そこではネットワーク内の全サイトからのイベントが表示され、各行はオブジェクト列で発生元のサイトにタグ付けされています。
WP-CLIでのサイト別フィルタリング
マルチサイトネットワークでWP-CLIを使用する際は、 --site_id 特定のサイトにエクスポートをスコープするためのフラグ:
wp duplicator-activity-log export --site_id=2
交換 2 エクスポートしたいサイトのブログIDを指定します。サイトのブログIDを確認するには、次のコマンドを実行します:
wp site list --fields=blog_id,url
組み合わせることができます --site_id 他のエクスポートフラグと組み合わせて使用できます。例えば、サイト3から重大度の高いイベントをすべてエクスポートするには:
wp duplicator-activity-log export --site_id=3 --severity=high --format=csv > site3-high.csv
サイトごとの設定 vs ネットワーク全体の設定
アクティビティログの設定(一般、イベント、通知)はサイトごとに設定されます。ネットワーク内の各サイトは独自の設定を持つことができます:
– ログ保持期間 – 有効/無効のイベントカテゴリ – 通知受信者とトリガー – ログ記録方法(同期 vs 非同期)
ネットワークレベルでのグローバル設定の上書きはありません。各サイト管理者が自身のアクティビティログ設定を管理します。ただし、プラグインがネットワークアクティベートされた場合、ライセンスの有効化はネットワークレベルで処理され、ライセンスのサイト数はネットワーク上の全サイトをカバーします。
コマンドラインからログデータをエクスポートするには、「アクティビティログでのWP-CLIの使用」を参照してください。