WordPress Advent Calendar 2012 の参加記事、2日目担当 @naokomc です。
実は昨年のアドベントカレンダーで書いた「WordPress のカスタムフィールド・投稿タイプ・タクソノミーを使い分けよう!」という記事はその後も一年を通してけっこう読まれているみたいです。そういうわけで、今回も基本的な WordPress テーマ関連での「使い分け」のお話を書いてみたいと思います(ちなみにこれは、WordCamp Philippines で Philip が話した内容と、ThemeShaper のテーマチュートリアルをベースにしたものです)。
テーマを「どうつくるか」
別案件として複数のテーマを開発していく際、どうすれば効率的で質の高いテーマを作ることができるか?というのは制作者の方にとって気になるところだと思います。また、WordPress はコアの開発がどんどん進められているため、テーマをそれに合わせて最新にしていく必要が出てくることがあります。以下が、異なる方法の長所と短所を理解する助けになればと思います。
4つのアプローチ
現在の WordPress テーマ開発体制には大まかに分けて4つのアプローチがあるといえます。
- スクラッチ開発
- 親テーマをベースにした子テーマの作成
- 「テーマフレームワーク」を利用した新テーマの作成
- 「スターター・テーマ」を利用した新テーマの作成
それぞれの詳しい特徴
1. スクラッチ開発
ゼロから PHP や CSS などを書いていく方法。カスタムタクソノミーなど、多くのカスタマイズが必要なクライアントワークではこの方法が向いている。コードを細かいところまで完全にコントロールできるが、時間がかかる。
2. 子テーマ
子テーマとは、例えば Twenty Eleven、Twenty Twelve デフォルトテーマをベースにし、そこに含まれている機能をそのまま活用しながら CSS や一部の PHP ファイルを修正する方法。非常に素早く簡単にカスタマイズができるが、親テーマに大きく依存する。最新版のテーマ機能をもっとも手軽に取り入れられる方法といえる。
3. テーマフレームワーク
コードライブラリ的なテーマフレームワークには例えば、Genesis、Carrington Core、UpThemes などがある。多機能な一方、非常に高度な構造で、そのフレームワークを実際に作っていたり、精通している人ではない場合は慣れるのにかなり時間がかかる。
4. スターター・テーマ
Starter、つまりスタート地点となるテーマを使う方法。「ベーステーマ」と呼ばれることもある。比較的シンプルで勉強しやすく、フォークして別テーマを作る前提となっているため、フォーク後に元のテーマが更新されたとしてもバグフィックス継承はしない。Automattic テーマチームは最近の新規テーマ作成の9割以上に _s(underscores)テーマをスターター・テーマとして使っている。他にも、Toolbox などがある。
長所短所・ひとことでのまとめ
ざっくりとまとめてみると以下のような感じです。
アプローチ | 長所 | 短所 |
---|---|---|
スクラッチ開発 | コントロールできる | 制作に時間がかかる |
子テーマ | すばやく機能を取り入れられる | 親テーマへの依存が大きい |
フレームワーク | 多機能 | 慣れるまで時間が必要 |
スターター・テーマ | 学習しやすい | 元テーマが更新されても継承はない |
親テーマやフレームワークなどを使えば最新テーマ機能への対応は自動的に行えるけれど、もっとコントロールしたいならスクラッチ開発やスターター・テーマの手法を取りつつ自分で差分を取り込んでいく必要がある、といった違いがあると言えます。
たとえば Automattic のテーマチームは WordPress.com 向けの汎用テーマを多数作るため、自社開発したスターター・テーマを使った方法を選んでいますが、サイトやチームの構成によっては他の方法が向いている場合もあると思います。方法の組み合わせやいくらかのバリエーションもあると思うので、「私はこうしてる!」といった、読んだ方の意見もぜひ聞いてみたいです。
スターター・テーマを試してみたいという方には、_s テーマの日本語ファイルも作って公開していますので、よかったら使ってみてください。
WordPress アドベントカレンダーについて
アドベントカレンダーは12月25日までリレー形式で WordPress について書いていくオンラインイベントで、今年は高橋くんが募集をしてくれています。すでに30人以上が手を挙げていますが一日一人というわけではなくてまだ枠はあるようですので、書いてみたい人は参加しましょう! ちなみに今日はもうお一人、遠藤さん(@aistear_tech)もカスタマイズについての記事を書かれています。明日は、まがりん(@jim0912)とむゆうさん(@anticyborg)です!
コメントを残す