25
2010
WordPressのネットワーク機能で予約語のblogを使う方法
WordPress3.0からは複数ブログを設置できるようになりました。
ですが、そのブログ名には登録できない名前(いわゆる予約語)があり、もしその予約語で登録しようとすると、以下のようなエラーメッセージが表示されます。
以下の語句は WordPress の機能によって予約されており、ブログ名として使うことはできません: page, comments, blog, files, feed
しかし、この中にあるblogという予約語ですが、実はこれって互換性のために予約語として残してあったとかだったと思うのですよね。だから別に使っても大した問題はなかったはず…ですので使えるようにしちゃいましょう。
バージョン: WordPress 3.0.1 ja
以下、修正点です。
/wp-includes/ms-functions.php
516行目
$illegal_names = array_merge($illegal_names, apply_filters( 'subdirectory_reserved_names', array( 'page', 'comments', 'blog', 'files', 'feed' ) ) );
↓
$illegal_names = array_merge($illegal_names, apply_filters( 'subdirectory_reserved_names', array( 'page', 'comments', 'files', 'feed' ) ) );
/wp-admin/ms-edit.php:
154行目
$subdirectory_reserved_names = apply_filters( 'subdirectory_reserved_names', array( 'page', 'comments', 'blog', 'files', 'feed' ) );
↓
$subdirectory_reserved_names = apply_filters( 'subdirectory_reserved_names', array( 'page', 'comments', 'files', 'feed' ) );
/wp-includes/ms-settings.php
72行目
$reserved_blognames = array( 'page', 'comments', 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );
↓
$reserved_blognames = array( 'page', 'comments', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );
配列から’blog’を取り除いていくだけです。簡単ですね。
14
2009
WordPress MuのNo-wwwおよび、その他の問題への対処法
注意!!
この記事は古くなっています。最新版はこちらです。
→ Yuyak – WordPress MU 日本語版
序章
WordPress MUは、WordPressに複数ブログ管理機能を持たせたCMSだ。複数ブログは、サブドメイン形式、またはディレクトリ形式が選べるのでユーザーのニーズに幅広く答えてくれる。WordPressとも高い互換性を持っており、テーマ・プラグインなどは、その大半が何の問題もなく動く。その機能は、ただWordPressを上回っているのみで、なぜ、WordPressが主流で、WordPress MUが副流なのか分からないくらいだ。いや、実はWordPress MUは重大な問題を抱えている。
WordPress MUの持つ問題点
WordPress MUは2009年7月14日現在(ver.2.8.1)、http://www.example.com/のようにwwwをサブドメインにしているサイトにはインストールできない仕様になっている。WordPressMUは、No-www という思想を持っており、それを利用者にも課している。
しかし、GoogleもYahooもサブドメインはwwwだ。WordPressも主流版では、No-wwwのような制限を課していない。こんな悲しいダブルスタンダードはない。
というわけで、以下にそれらの回避法を掲載する。
No-wwwの回避法
WordPressMU 2.8.1です。
/index-install.php
385, 386行目をコメントアウト
//if( substr( $_SERVER[ 'HTTP_HOST' ], 0, 4 ) == 'www.' )
// $hostname = str_replace( "www.", "", $_SERVER[ 'HTTP_HOST' ] );
544,545行目をコメントアウト
//if( substr( $domain, 0, 4 ) == 'www.' )
// $domain = substr( $domain, 4 );
743 – 747行目をコメントアウト
//if( substr( $_POST[ 'basedomain' ], 0, 4 ) == 'www.' ) {
// printheader();
// nowww();
// continue;
//}
756行目をコメントアウト
//$_SERVER[ 'HTTP_HOST' ] = str_replace( 'www.', '', $_SERVER[ 'HTTP_HOST' ] ); // normalise hostname - no www.
blogという名前のブログを作成する方法
上位互換性なのかは分かりませんが、blogという名前のブログを作れません。これの回避法。
WordPressMU 2.8.1です。
/wpmu-settings.php
148行目
$reserved_blognames = array( 'page', 'comments', 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );
を
$reserved_blognames = array( 'page', 'comments', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );
に変更
クラスやIDが勝手に消える
記事投稿したときに、ある要素に対して指定した属性が許可されていない場合、消えてしまいます。それを回避する方法。$allowedposttagsというものがあるので、そこに追加する。
/wp-includes/kses.php
$allowedposttags = array(
'a' => array(
'class' => array()
)
);
一部抜粋ですが、上記のように、要素に対して追加したい属性を指定しておけばOKです。
最後に
以上の下準備を施した後、普通にwwwありのURLでインストールするとうまくいきます。うまくいかなければ、コメントください。ではでは。
あとがき
管理者ログインがうまくいかないときは、クッキー削除したらうまくいくかもしれないです。。

An article by yuyak