昨年の12月25日に Sandbox テーマのバージョン 1.2 がリリースされています。2006年8月にこのブログで紹介したときには 0.6.1 でしたがあれから大きく変わってきています。
Sandbox 1.0 での大きな変更として、それまで“スキン”と呼ばれていたスタイルシート部分の扱われ方が変わりました。1.0 以前は Sandbox のディレクトリの中にスタイルシートが置かれ、Sandbox の専用管理画面でどのスタイルシートを使用するか選択するようになっていましたが、1.0 以降ではスタイルシートを Sandbox ディレクトリの外に置くようになっています。
例えば Sandbox とそれをベースにした Sandbox Kubrick をインストールする場合、構成は
wp-content/ | +- themes/ | +- sandbox/ +- sandbox-kubrick/
のように、Sandbox と Sandbox Kubrick が並列になります。
配置した後、管理画面のテーマ選択ページで Sandbox Kubrick を選択します(Sandbox を選択するのではないことに注意)。このように Sandbox は「置いておくだけ」ですが、Sandbox ベースのテーマを使う場合には必ず Sandbox も配置しておく必要があります。
Sandbox ベースのテーマ (Sandbox Kubrick) の中身はどのようになっているかというと、意味のあるファイルは style.css だけです。PHP のテンプレートなどは含まれていません。これだけでどうして Sandbox とつながるのか不思議になりますが、カギは style.css のコメント部にある TEMPLATE の行にあります。
/*
THEME NAME: Sandbox Kubrick
THEME URI: http://wordpress.org/
DESCRIPTION: Modification of the default WordPress theme, Kubrick, originally designed by Michael Heilemann.
AUTHOR: Andy Skelton
AUTHOR URI: http://andy.wordpress.com/
TEMPLATE: sandbox
*/
TEMPLATE 行が指定されていると、WordPress はテンプレート (index.php や single.php など) を指定されたテーマから継承して使うようになります。
このテンプレート継承の機能はこれまでほとんど使われることがありませんでしたが、実は現在のテーマシステムが導入された WordPress 1.5 の時点ですでに用意されていました。
セマンティック・クラスの変更点
Sandbox 0.6.1 から変更があったセマンティック・クラスについて以下にまとめておきます。0.6.1 時点でのセマンティック・クラスの一覧はこちらを参照してください。
ボディに新たに追加されたクラス
- postid-{n}
- pageid-{n}
- s-tag-{slag}
- attachment-{mime}
- tag
- tag-{slag}
- paged-{n}
- single-paged-{n}
- page-paged-{n}
- category-paged-{n}
- tag-paged-{n}
- date-paged-{n}
- author-paged-{n}
- search-paged-{n}
ポストに新たに追加されたクラス
- tag-{slag}
- protected
コメントに新たに追加されたクラス
- t{n}
それぞれのクラスの意味や詳細は Sandbox の readme を参照してください。
Sandbox 1.x 用日本語リソース
Sandbox 1.2 をベースに日本語リソースを作成しました。表示を日本語化したい場合は zip ファイルをこちらからダウンロードして、ja.mo を sandbox ディレクトリ直下に配置してください。
日本語の表現を自分の好みに合わせて変更したいときは ja.po を poEdit などのツールを使って編集してください。
One reply on “Sandbox 1.2”
[…] まず、WordPress のテーマでは、テーマフォルダのstyle.cssというファイルにスタイルを記述するのが基本です。Sandbox では、構造をそのまま使えるのであれば、miyoshiさんの記事に書かれてあるように、テンプレートの継承を利用して、テーマを作成する方が望ましいのですが、商用サイトを作る場合は、どうしても構造を変更してしまう事がほとんどです。 […]