Development‎ > ‎Wordpress関連‎ > ‎

WordPressのマルチサイト機能

概要

WordPress 3.0 から、これまではWordPress MU でのみ提供されていた一つの WordPressで複数のブログを管理する機能(マルチサイト機能)が統合されました。
ここでは、
このマルチサイト機能の利用方法を記載します。


対象

WordPress    ...    version3 以上
本記事は「WordPress3.4.2」で検証。

説明

このマルチサイト機能は、サブディレクトリ形式で実装されます。

対応方法

下記2ファイルの修正が必要となります。
  • .htaccess
  • wp-config.php
修正内容を下記に示します。
.htaccess

下記に修正する。(ルート)
それ以外の内容は、必要に応じて、下記に追記してください。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
上記内容は、下記対応を行えば、「ツール → ネットワーク」で、.htaccessの修正が促されますので、その指示に従ってください。
ここでは、「WordPress3.4.2」での内容となっております。

wp-config.php

下記コードを追記する。(何処でも構わない)
/**#@-*/
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
$base = '/';
define('DOMAIN_CURRENT_SITE', 'www.tabitetsu.jp');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);


これでマルチサイト機能が有効になります。
管理パネルのメニューの「ツール → ネットワーク」で、任意にマルチ化させる内容を指定してください。

注意

マルチ化させたWordPressを移植する際には、下記注意が必要です。
これを怠ると、
「Fatal error: Call to undefined function switch_to_blog() in /home/www/fakedomain/wp-content/themes/fakethemename/header.php on li」
が発生します。
  • 移植した場合には、上記対応方法を忘れずに行う。
これを忘れた場合には、「ツール → ネットワーク」にその内容が示されたエラー表示が行われます。

SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser