ブログ記事が多くなって煩雑になってしまったので、テーマごとにディレクトリ内で小サイトを作って運用することにする。
wp-config.phpに定数挿入
以下の定数をwp-config.phpに入れる。
define('WP_ALLOW_MULTISITE', true);
通常は書かれてないので、新たに入力↓
WordPress サイトネットワークの作成 ページ
ここでまずはディレクトリごとに複数サイトを作る設定をおこなって、後ほど個別の小サイト設定をする。
WP管理画面でツール > サイトネットワークの設置が追加されているのでアクセスする。
全プラグインを無効化
するとプラグインを無効化しないと次に進めないらしいので、全部のプラグインを停止にする。
サブドメイン・サブディレクトリ選択
ここで、サブドメイン型かサブディレクトリ型の複数サイトかを選ぶ。以下画像ではLocalhostで試しているのでサブディレクトリ型しか選べなかった。
wp-config.php・.htaccess 追記
再度wp-config.phpに追加書き込みして、.htaccessにも追記する必要がある。
wp-config.phpに追加
内容はディレクトリ型で複数サイト運用ということですね。
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
.htaccessに追加
こちらは1・2行目が既存の.htaccessに書いてある内容と重複しているけど問題はなさそうかな?
もし、.htaccessが無い場合は新規作成。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
最初にあった.htaccessの内容は通常なし。
# BEGIN WordPress
# END WordPress
.htaccessに追記するとAccess forbidden! Error 403発生!
原因はRewriteEngineをOnにしたときにOptions FollowSymLinksをつけないといけないらしいので追記。
RewriteEngine On
Options FollowSymLinks
RewriteBase /
RewriteRule ^index\.php$ - [L]
これでうまく行った。
複数サイト 管理画面の構成
ここまで設定して再度ログインすると、左上メインサイト名があった左側に「参加サイト」という項目が追加された。
メインサイト 管理画面
以下がメインサイトのURL、以前と項目は変わらず同じ。参加サイトのリンクのみ追加された状態。
サイトネットワーク管理画面
こちら↓は、メインサイトを含めた全てのサイトを管理するページ。ここで新規サイトを作成可能。
サイトネットワーク管理画面のメニューも通常のWPのメニューと変わって「サイト」という項目が追加、その他通常は外観 > テーマのテーマがメニューから直接編集可能。
設定の項目も以下のように変わっている。
サイトネットワーク管理画面で新規サイト作成
サイトから新規追加を押して新しいサイトを作成する。
サイトのパスとタイトルとメルアドを入力してサイトを追加する。
以下のようにサイト作成完了した。
URLは上記にアクセスするとTESTサイトのWP管理画面に行ける。
メインサイトと別のレイアウトにする時
メインのサイトと切り離して別のレイアウトで運用する時はテーマを別のにする。
その時、各サイトの外観 > テーマではなく、サイトネットワーク管理のテーマで新規テーマをアップロードする。
同じ小テーマ入れてもインストールできない
当たり前ですが・・・同じ子テーマを使おうとしてもアップロードできませんでした。
Simplicity2-childの名前を変更してアップロード

テーマはメインサイトと同じくSimplicity2を使いたいので小テーマを解凍してフォルダ名を「simplicity2-test-child」に変更、
\site\wp-content\themes\simplicity2-test-child
にアップロードした。
style.cssの中身を以下のように変えた。テーマ名の名前にtestを追加した。
/*!
Theme Name: Simplicity2 child test
Template: simplicity2
Version: 20161002
*/
テーマで有効化
サイトネットワーク管理のテーマでアップロードしたSimplicity2小テーマを有効化する。
小サイトのテーマ有効化
最後に小サイトの外観 > テーマでSimplicity2 Child testを有効化すれば作業完了。
コメント