2012.08.24 ともよーん
こんにちは、いざという時のために兄弟船くらい歌えるようになっておきたいともよーんです。
何回かに分けてWordpressのマルチサイト構築の際のテクニックなどを紹介していきたいと思います。
Wordpressといえば個人的には思い入れがあるのです。
なぜかというと、3年前に初めてお金をもらって受けたWEBのお仕事が、Wordpressを使ったものだったのです。
雑貨屋さんのサイトで、ブログと商品ページにWordpressを組み込みました。
いろいろ調べながらデザイン・コーディング・WP組み込みしました。
幸運にも優雅で穏やかな有閑マダムがお客さんで、時間的な制約がほぼなかったので、たっぷり4カ月くらいかけて作りました。思えばあそこが今の仕事のスタート地点だったなと思います。
久しぶりにさわったWordpressは素直で使いやすいものに成長していました。(自分のレベルも上がったと信じたい。)
さてさて、前置きが長くなりました。
今回は、マルチブログを構築する際のルートのURLを出力するタグをご紹介します。
通常サイトのルートパスはこれらのタグを使います。
bloginfo('site_url') bloginfo('home_url')
▼詳しくはこちら
http://codex.wordpress.org/FunctionReference/siteurl
しかし、サイトをいくつも同じWordpressにいれた時には、このタグでは各サイトのURLが出てきてしまいます。
例えば、サブディレクトリで、以下のような3つのサイトが存在するマルチサイトを構築したとします。
①http://www.xxxx.co.jp/
②http://www.xxxx.co.jp/site1/
③http://www.xxxx.co.jp/site2/
<?php bloginfo('siteurl') ?>は、①配下ではhttp://www.xxxx.co.jp/が吐き出されるのですが、②・③ではそれぞれのサイトパス、http://www.xxxx.co.jp/site1/、http://www.xxxx.co.jp/site2/が吐き出されます。
何が良くないかというと、ヘッダーやフッターなどサイトを、またいで共通のモジュールを使用する時に、同じタグでもどのサイトの配下にあるかによって吐き出されるURLが変わってしまうということです。
それは困りますよね!!!!!
マルチサイトで構築するような共通部分の多い大型サイトであればなおさら、共通で使用できる汎用性のあるパーツが欲しいですよね?
後々修正があった時や運用時のことを考えても、作り方としては部品を用意して組み立てていくようなプロセスをとりたいところです。
ここで、どのサイトでも同じようにルートサイトのディレクトリのパスを読み込んでくれるタグを探しはじめました。
ところがなかなか見つからないんです。毎日1時間ずつくらい調べ、2・3日が経過し、かばんの中も机の中も探したけれど見つからなくてそろそろ井上用水と夢の中で踊るしかないかと思い始めたところ、やっとWordpress Codexでやっと見つけました。
こちらのタグです。
echo network_site_url()
js内ではこの形で。パンくずなどを定義する時にも必要になってきます。
"'. network_site_url() .'"
▼詳しくはこちら
http://codex.wordpress.org/FunctionReference/networksite_url
ではでは、また次回、Wordpressマルチブログ構築Tips②でお会いしましょう。