マルチサイト向けのWordPressテーマを作成するコツ

マルチサイト化したWordPressのサイトを複数持つ場合、1つのテーマでやりくりしたい。
または、1つのテーマを元に子テーマを使用して運用したい場合の親テーマ作成のコツを簡単にまとめました。

Sponsored Link

テーマに直書きではなく、管理画面で設定できるようテーマ対応させる。

例えば、通常だとアクセス解析コードをサイト毎に割り当てたい場合などです。
管理画面のテーマ設定で、アクセス解析コードを保存する形にすれば、
マルチサイトで同じテーマを使用する場合、アクセス解析コードを分ける事が出来るのでとても便利です。
アクセス解析コードだけでなく、サイトによって異なるようこそ文なども、
管理画面で設定するようにすれば、とても管理しやすくなります。

1つのテーマを元に、色違いのサイトデザインにしたい場合

子テーマを使うと便利です。
ただし、子テーマを作成するにあたって気をつけなくてはいけないのが、画像パスです。

<?php bloginfo('template_directory'); ?>

上記の画像へのテンプレートタグを使用すると、親テーマの方を見にいってしまいます。
なので、stylesheet_directoryを使うか、子テーマ向けの関数をfunction.phpに記載します。

stylesheet_directoryを使う方法

なぜか、stylesheet_directoryは、子テーマの場所を表示してくれる。
このstylesheet_directoryを使うのが本当に正しい方法なのか分からないが…。
取りあえず、簡単に子テーマの場所を表示したい場合はお勧めです。

<?php bloginfo('stylesheet_directory'); ?>

関数をfunction.phpに書く方法

思いきって、子テーマへのURLを表示する関数をfunction.phpに書く方法です。
子テーマとして配布する場合など、利用者がフォルダ名を変えない限り大丈夫だと思います。

function child_url(){
echo 'サイトURL/wp-content/themes/テーマフォルダ名';
}

メイン画像を用いる時は、カスタムヘッダー機能を使うと良い

案外必要となるのが、サイトの顔になるであろう、メイン画像。
これを複数サイト毎に分けたい場合は、カスタムヘッダー機能を使うと便利です。
ただし、画像サイズは予め統一しておかないといけません。

もしくは、子テーマを利用して対処すると良いのかもです。

メイン画像を使用しない場合、ロゴ画像をカスタムヘッダー機能をするのも手です。

メニューバーはカスタムメニューを使うと便利

ヘッダーバー、フッターバー、メニューバーとサイトに必要と思われるメニューバーは、カスタムヘッダーを使うと良いです。
メニューは複数使用できるので、とても便利。
メニューの名前を英数字にして、そのメニュー名をそのままヘッダー・フッター・メニューバーと、それぞれidで割りつければ良いです。
ただし、テーマを配布する場合は、予め利用者にメニューの名前の指定をするように知らせておかないといけません。

背景はWordPressの機能の背景を使うと便利

色の指定も、背景画像も使えるので便利。
サイトの背景に利用するだけでなく、ヘッダー部分の背景とかに利用しても良いと思います。

まとめ

以上、他にもありますが、WordPressのマルチサイトのテーマを作成していく上で、コツを簡単にまとめてみました。
WordPress3.0から、マルチサイトを作成する上で、フレームワーク的なテーマを作成する事が楽になりました。

管理画面上で、テーマをカスタマイズしやすくするというのをモットーに、
もっとテーマを作成していきながら、またこの件について記載しようと思います。

Sponsored Link