wordpress テーマ habakiri と公式ディレクトリへのテーマ登録

62
WordBench 鹿児島@さくらハウス WordPress テーマ Habakiri と 公式ディレクトリへのテーマ登録

Upload: -

Post on 23-Jan-2018

4.236 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

WordBench 鹿児島@さくらハウス

WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Page 2: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

キタジマタカシ

inc2734

フリーランス Web デザイナー / プログラマー WordBench 長崎 モデレーター

Page 3: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 4: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 5: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 6: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

WordCamp Kansai 2015

実行委員、スピーカーWordPress で行う継続的インテグレーション のススメ

Page 7: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 8: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 9: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

【質問】 公式ディレクトリからテーマ

をダウンロードして使ったことがある方

Page 10: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 11: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

公式テーマディレクトリとは

• WordPress.org が運営するテーマ配布サイト

• テーマレビュアーのチェックを受けたテーマのみが掲載。 → 野良テーマより安全で信頼できる

• 公式ディレクトリで配布されているテーマはダッシュボードからインストール可能。

Page 12: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

【質問】 そのテーマをカスタマイズしたくなったとき、どのようにカスタマイズしますか?

Page 13: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

テーマを直接カスタマイズすると…

• WordPress のテーマは、作者により定期的にアップデートされます。

• アップデートすると、そのテーマは最新版のテーマにまるっと入れ替わります。

• つまり、直接テーマをカスタマイズしている場合、アップデートすると、そのカスタマイズは全て無くなります!

Page 14: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 15: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

そうならないためには どうすれば良いか

Page 16: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

「子テーマ」を作ればOK!

Page 17: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

子テーマ

• 特定のテーマを親としたテーマのこと。

• 子テーマは親のテンプレートを継承するので、親テーマの機能やデザイン等を引き継ぐことができる。

• 子テーマにテンプレートを作成すれば、親のテンプレートを上書きできる。

Page 18: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

親テーマ 子テーマ

style.css single.php index.php page.php home.php front-page.php header.php sidebar.php footer.php functions.php ….

style.css * single.phpindex.php page.php home.php front-page.php header.php sidebar.php footer.php functions.php ….

子テーマにテンプレートが ない場合は親テーマのものが 使用される。

☓子テーマにテンプレートが ある場合は親テーマのものは 使用されない。

閲覧者

Page 19: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

理想的な親テーマとは

Page 20: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

親テーマに向いていないテーマ

• id セレクタや !important を連発していて子テーマから上書きしにくい CSS

• フックが用意されておらず、カスタマイズするにはテンプレートを上書きするしかない

• functions.php が 機能の削除や上書きに対応していない

Page 21: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

理想的な親テーマ

• カスタマイザーで基本的な部分の設定ができる。

→ 全てをコードで書かなくても良くて簡単。

• CSS の詳細度が弱い。

→ 子テーマから CSS で上書きしやすい。

• テンプレートを継承しなくてもカスタマイズできる。

→ アップデートの影響を子テーマに与えにくい。

• functions.php に記述してある機能を削除・上書きしやすい。

→ テーマの汎用性が高い。

Page 22: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

これらを踏まえ、 最近テーマをつくりました。

Page 23: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 24: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri

• レスポンシブデザイン

• 公式ディレクトリ掲載テーマ

• HTML5 + CSS3 + Microformats

• カスタマイザーでおおまかな設定ができる

• ページテンプレート

• たくさんのフック

• Bootstrap

• クラスベースの functions.php

Page 25: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri

• レスポンシブデザイン

• 公式ディレクトリ掲載テーマ

• HTML5 + CSS3 + Microformats

• カスタマイザーでおおまかな設定ができる

• ページテンプレート

• たくさんのフック

• Bootstrap

• クラスベースの functions.php

Page 26: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 27: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 28: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

カスタマイザーでおおまかな設定ができる

• CSS やテンプレートを編集する必要無く色の変更やレイアウトの変更ができる。

• カスタマイザーでできる部分はカスタマイザーに任せておけば、アップデートの影響を受けにくい。

Page 29: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri

• レスポンシブデザイン

• 公式ディレクトリ掲載テーマ

• HTML5 + CSS3 + Microformats

• カスタマイザーでおおまかな設定ができる

• ページテンプレート

• たくさんのフック

• Bootstrap

• クラスベースの functions.php

Page 30: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

ページテンプレート

• 固定ページのレイアウトを選択できる機能のこと。

• Habakiri には初めから6つのページテンプレートが用意されています。( 現在アップデート申請中の 2.0.0 では7つ )

Page 31: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 32: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri のページテンプレート

• 右サイドバー(デフォルト)

• 左サイドバー

• トップページ用の空テンプレート

• スライドショーつきのテンプレート

• 1カラム(固定幅)

• 1カラム(リキッド幅)

• サイドバーなし

Page 33: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

ページテンプレート

• この中に適当なものがあれば、わざわざテンプレートを上書き・編集する必要がありません。

Page 34: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

親テーマ(Ver 1.0) 子テーマ

style.css single.php index.php ….

single.php

アップデートの内容によっては構造が大幅に変わり Ver 2.0 の single.php と互換性が無い

状態の single.php を使っている状態なって

しまっているかも…

style.css single.php index.php ….

親テーマ(Ver 2.0) アップデート

一部だけ変更するために コピーして上書き

Page 35: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri

• レスポンシブデザイン

• 公式ディレクトリ掲載テーマ

• HTML5 + CSS3 + Microformats

• カスタマイザーでおおまかな設定ができる

• ページテンプレート

• たくさんのフック

• Bootstrap

• クラスベースの functions.php

Page 36: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

フックとは

• 特定の文字列を書き換えたり、特定の位置に任意の処理やHTMLを挿入したりできる仕組みのこと。

• 任意の場所に HTML を追加したい場合、フックを使えばテンプレートを上書き・編集しなくても HTML を追加できる。

Page 37: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

habakiri_before_entry_contenthabakiri_after_sidebar_widget_area

habakiri_after_entry_content

habakiri_before_entry_meta

habakiri_after_entry_meta

habakiri_before_contents_content

habakiri_after_contents_content

habakiri_before_header_content

habakiri_after_header_content

habakiri_before_footer_content

habakiri_after_footer_content

habakiri_before_container habakiri_before_global_navigationhabakiri_after_global_navigation

habakiri_before_sidebar_widget_area

habakiri_after_title

habakiri_before_title

Page 38: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

    /\___/ヽ   ヽ    /    ::::::::::::::::\ つ   . |  ,,---   ---、 .:::| わ   |  、_(o)_,:  _(o)_, :::|ぁぁ .   |    ::<      .::|あぁ    \  /( [三] )ヽ ::/ああ    /`ー-----―´\ぁあ

Page 39: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

たくさんのフック

• Habakiri にはたくさんのフックが用意されている。

• フックを使えばテンプレートを上書き・編集しなくて良いので、親テーマがアップデートしてもその影響を受けにくい。

Page 40: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri

• レスポンシブデザイン

• 公式ディレクトリ掲載テーマ

• HTML5 + CSS3 + Microformats

• カスタマイザーでおおまかな設定ができる

• ページテンプレート

• たくさんのフック

• Bootstrap

• クラスベースの functions.php

Page 41: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Bootstrap

• Twitter が開発した CSS フレームワーク。

• ルールにそって CSS クラスをつけることで簡単にレスポンシブデザインを実装できる。

• ボタンなどの汎用的なパーツもいろいろ。

Page 42: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
Page 43: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

<div class=“container”> <div class=“row”> <div class=“col-md-4”> 1カラム目 </div> <div class=“col-md-4”> 2カラム目 </div> <div class=“col-md-4”> 3カラム目 </div> </div> </div>

Bootstrap

col-xs-*  スマホサイズ以上のとき

col-sm-*  タブレットサイズ以上のとき

col-md-* PCサイズ以上のとき

col-lg-*  ワイドPCサイズ以上のとき

* 列のグリッド幅を使うか

Page 44: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Bootstrap

• 世界中で使われているので情報がたくさん。

• 自分で1から CSS を書かなくても、ルールにそって HTML を書いていくだけでおおまかなレイアウトが完成する。

• あとは調整する CSS を書き足していけばOK

Page 45: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

Habakiri

• レスポンシブデザイン

• 公式ディレクトリ掲載テーマ

• HTML5 + CSS3 + Microformats

• カスタマイザーでおおまかな設定ができる

• ページテンプレート

• Bootstrap

• たくさんのフック

• クラスベースの functions.php

Page 46: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

クラスベースの functions.php

• 一般的な functions.php は関数がフラットに並ぶ構成。→ 親テーマのつくりによっては関数を上書きできない。→ コードが冗長になりがち。

• Habakiri の functions.php はクラスで構成。→ 子テーマからの継承・上書きが直感的。→ コードもシンプルに整理しやすい。

Page 47: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

PHPのクラスは難しそう…

Page 48: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

大丈夫です

Page 49: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

マニュアルあります!http://habakiri.2inc.org

Page 50: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

なぜ公式ディレクトリで テーマを公開したの?

Page 51: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

いろいろなメリットが あるからです!

Page 52: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

公式ディレクトリに掲載するメリット

• テーマレビュアーのチェックを受けることができる。

→ 品質の保証。自分だけでは気づかない不具合も見つかる。

• 多くのユーザーに使ってもらえる。

→ エッジケースでの不具合報告があることも。

• ユーザーはダッシュボードから簡単にアップデート可能。

→ そのテーマを使っているサイト全てに簡単に機能追加や

  不具合修正を適用できる。

Page 53: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

公式ディレクトリにテーマを掲載するには

Page 54: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

公式ディレクトリへのテーマ掲載の流れ

• テーマをつくる

• 公式ディレクトリにテーマをアップロード

• レビュワーがアサインされるまで待つ(2週間~1ヶ月?)

• レビューされ、修正点があれば trac ( 掲示板みたいなところ ) でやりとり

• OK がでたらテーマの承認権限があるキーレビュワーが最終チェック

• 問題なければ公開待ちに(2週間~1ヶ月?)

• 公開!

Page 55: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

難しそう…?

Page 56: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

これだけ抑えておけば(多分)大丈夫

• 超基本的なテーマ制作のルールは守る

• PHP、JS のエラーがあると NG

• PHPのクラス名、関数名などには接頭辞をつける

• 100% GPL

• 翻訳対応 ( 対応さえしておけば日本語でも OK )

• プラグインテリトリーを犯さない

Page 57: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

もっと簡潔に言えば

• 当たり前のことを当たり前にやる

• 難しいことをしない

Page 58: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

それでも難しい…?

Page 59: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

子テーマでもOK

• 特定のテーマの子テーマでも公式ディレクトリに登録できます。

• 基本的な機能やデザインは親テーマで完成されているので、CSS を追加するだけでもOK

Nu2013 nifl

Page 60: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

独自テーマなら、まずは _s

• _S は Automattic が開発したスターターテーマ。

• 基本的な設定や翻訳対応などが施されている。

• 必要な部分だけカスタマイズしたり、CSS を追加するだけでOK

http://underscores.me/

Page 61: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

テーマができたらここに突撃!

Page 62: WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録

テーマ制作の参考になる資料

• WordPress公式テーマ登録のための5ステップhttp://www.slideshare.net/mignonstyle/wordpress5-38514853

• テーマレビューチームに学ぶテーマ制作のベストプラクティスhttp://www.slideshare.net/NSKW/learning-from-theme-review-requirements

• Word pressはじめの一歩 テーマ作成ハンズオンhttp://www.slideshare.net/HideOkamoto/word-press-50840466

• THEME REVIEW HANDBOOK : Requiredhttps://make.wordpress.org/themes/handbook/review/required/