メモ > 技術 > CMS: WordPress > マルチサイト
マルチサイト
■概要
WordPressマルチサイトのメリット・デメリット・設定方法 | 株式会社ベクトル | 名古屋でWordPressを活用したウェブ制作・システム開発
https://www.vektor-inc.co.jp/post/wordpress-multi/
【決定版】WordPressをマルチサイト化する時のつまずきポイント全て解決!! - いーもんみつけたぞいや ー楽しむ子育てとガジェット情報ー
http://info2info.net/blog/2017/03/10/wordpress001/
【WordPress】マルチサイトでのテーマの認識。 | studio a.m.
http://studio-a-m.net/%E3%80%90wordpress%E3%80%91%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B5%E3%82%A4%E3%83...
マルチサイトをサブドメイン形式で使うには、以下の制限があるので注意。
・「localhost」では使えないので、ローカルテスト用にドメインの設定が必要。
・サブディレクトリには設置できない。
■マルチサイトの構築
WordPressマルチサイトのメリット・デメリット・設定方法 | 株式会社ベクトル | 名古屋でWordPressを活用したウェブ制作・システム開発
https://www.vektor-inc.co.jp/post/wordpress-multi/
まずは通常の手順でWordPressをインストール。
Main
http://localhost/~wordpress-multi/
http://localhost/~wordpress-multi/wp-login.php
admin / mdTzEPQKMz@oqju6Ta
/wp-config.php の「編集が必要なのはここまでです」と書かれた部分の直前に以下を記述する。
/**
* マルチサイト
*/
define('WP_ALLOW_MULTISITE', true);
管理画面にアクセスすると「ツール」の中に「ネットワークの設置」が追加されるので選択する。
運用方法は「サブディレクトリへのインストール」で、
「サイトネットワーク名」と「サイトネットワーク管理者のメールアドレス」を確認して、
問題なければ「インストール」をクリックする。
(公開ディレクトリ直下に設置していれば、サブドメインでの運用を選択できる。)
マルチサイトを構築するために必要なコードが記述されたページが表示される。
指示に従って /wp-config.php と /.htaccess を編集する。
強制的にログアウトされるので、改めて管理画面にログインする。
画面左上に「参加サイト」というメニューが追加されている。
■マルチサイトの確認
http://localhost/~wordpress-multi/
http://localhost/~wordpress-multi/wp-login.php
にはこれまでどおりアクセスできる。
管理画面の「参加サイト → サイトネットワーク管理 → サイト」で「新規追加」をクリック。
サイトを追加して、追加したサイトにアクセスできることを確認する。
http://localhost/~wordpress-multi/test1/
http://localhost/~wordpress-multi/test1/wp-admin/
にサイトが作成されている。管理画面へはメインサイトと同じ情報でログインできる。
メインサイトで「サイト → すべてのサイト → (対象のサイトを選択) → ユーザー → (対象のユーザを選択)」からユーザのパスワードを生成できる。
http://localhost/~wordpress-multi/test1/
http://localhost/~wordpress-multi/test1/wp-admin/
test1 / K1%NXKOhQD!7eF)9g79Yg1!n
http://localhost/~wordpress-multi/test2/
http://localhost/~wordpress-multi/test2/wp-admin/
test2 / M1p0YOIiYtQb&zUYUsqXy*L!
このユーザでメインサイトの管理画面へログインできないが、
メインサイトの管理者は追加されたサイトの管理画面へログインできる。
■テーマの追加
【WordPress】マルチサイトでのテーマの認識。 | studio a.m.
http://studio-a-m.net/%E3%80%90wordpress%E3%80%91%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B5%E3%82%A4%E3%83...
wp-content/themes/simple1
wp-content/themes/simple2
にテーマを置くものとする。
ただしマルチサイトの場合、テーマを置いただけでは管理画面で選択できない。
メインサイトで
「参加サイト → サイトネットワーク管理 → テーマ」で「サイトネットワークで有効化」
をクリックすると、各サイトで選択できるようになる。
メインサイトで
「参加サイト → サイトネットワーク管理 → サイト → (対象のサイトを選択) → テーマ → (任意のテーマを有効化)」
で、特定のサイトでのみテーマを選択できるようになる。
■プラグインの追加
WordPressプラグインをマルチサイトの子毎に個別に有効化する | 日常の生活と仕事を雑記するコーダーのブログ | CattleMute
http://www.cattlemute.com/2018/03/09/641/
子サイトからは追加できないみたい。メインサイトの
「参加サイト → サイトネットワーク管理 → プラグイン」
から追加できる。
試しに「MW WP Form」をインストール。さらに「サイトネットワークで有効化」をクリック
各子サイトでプラグインが有効化済みになった。
ここで有効化せずに
「参加サイト → サイトネットワーク管理 → サイト → (対象のサイトのダッシュボードを選択) → プラグイン → (任意のプラグインを有効化)」
とすれば、特定の子サイトでのみ特定のプラグインを有効にできる。
■ユーザの追加
マルチサイトで「サイトA」「サイトB」を作ったら、
サイトAの管理者はサイトAのみにユーザを追加できて、サイトBの管理者はサイトBのみにユーザを追加できる。
…と当然なっているだろうと思いきや、WordPressのマルチサイトはどうやらそういう仕様では無い。
マルチサイトの管理者である特権ユーザで、サイトAやサイトB用のユーザを追加できる。
という仕様になっている。
User Role Editor を導入し、プラグインを有効化する。
日本語化されていない場合、サイトネットワーク管理の「更新」で「新しい翻訳が利用可能です。」となっていないか確認する。
また、親サイト管理画面の「ユーザ → User Role Editor」でページ上部にある「各権限を概説で表示する」にチェックを入れると、権限が日本語解説で表示される。
User Role Editor - WordPress プラグイン | WordPress.org
https://ja.wordpress.org/plugins/user-role-editor/
「User Role Editor」で権限をフレキシブルに管理しましょう【複数名運営なら是非】 | EASILY
https://easily3.com/wordpress/plugin/user-role-editor/
WordPress - 納品時に使える。権限設定をカスタマイズするプラグイン「User Role Editor」 | みずかず
http://mizukazu.minibird.jp/wordpress-%E7%B4%8D%E5%93%81%E6%99%82%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8...
子サイト別ではなく、サイトネットワークで全体に有効化しないと、子ブログに設定が反映されないので注意。
有効化したら、親サイト管理画面の。
「プラグイン → User Role Editor → 設定 → マルチサイト」
で
「特権管理者以外がユーザーの作成・編集・削除することを許可」
にチェックを入れる。
これで子サイトでユーザを新規登録できるようになる。
■ファイルアップロード上限の変更
PHPの設定に依存するのはもちろんだが、以下の部分でも制限されているので注意。
デフォルトでは「1500KBまで」となっている。
参加サイト → サイトネットワーク管理 → 設定 → アップロードファイルの最大サイズ
■現状のまとめ
・特定の子サイトで特定のテーマを有効にすることはできる。
・特定の小サイトで特定のプラグインを有効にすることはできる。
・サブディレクトリで検証している分には、「サイト管理者が子サイトとアカウントを作成して提供」は大丈夫そう。