狠狠撸

狠狠撸Share a Scribd company logo
テーマレビューチームに学ぶ
テーマ制作の
ベストプラクティス
Shinichi Nishikawa
WordCamp Kansai 2015
2008
Learning from theme review requirements
ブログ
http://nskw-style.com
英語版
http://th-daily.shinichi.me
移住ブログ & Podcast
http://thai.osampo-radio.com
http://journey.osampo-radio.com
WordPress との関係
初めての WordBench
2013年。WPのバージョンは3.0
Photo: CC by Odyssey
WordCamp Tokyo 2012
実行委員長
Bangkok WordPress Meetup
立ち上げ。英語/タイ語グループ、日本語グループ
WC Sanfrancisco 2014
WordPressでいろいろしてる
.org のプロフィール
さて、本题の前に少しだけ
テーマ制作について
? テーマ作ったことある人
? 仕事で作ってる人
? 自社のサイトを作ってる
? クライアントのウェブサイト作ってる
? 公式テーマレポジトリにテーマを置いている
仕事の仕方、お金のもらい方
? 1度作って納品したら終わりという方
? アップデート、メンテナンスなども含めて、
継続的に仕事が続くという方
同時進行している案件の数
? 1
? ~5
? ~10
? 10~
? 一番多い人を探そう
仕事の仕方、チーム
? 一人で仕事をしている方
? チームで仕事をしている方
仕事の内容
? ドイツにあるホテルのウェブサイト
? 住宅販売、不動産販売、リフォーム事業、ショッピング
モールを開発する企業のサービスサイト
? 旅行代理店のウェブサイト
? ハイトラフィックなメディアサイト
? コワーキングスペースのサイト、NGOのウェブサイ
ト、バンコクの工場のサイトなど
本日のゴール
再利用可能性とメンテナンス性が高い
WordPressサイトを、安全に、短時間で、
チームで作るためのベスト?プラクティスを学
び、日々のテーマ制作の方法を改善すること。
WordPress.org
テーマレポジトリの
掲載要件から
学ぶことができる
WordPress.org
公式テーマレポジトリ?
http://ja.wordpress.org/themes
Learning from theme review requirements
テーマレビューとは?
Theme Review
Requirements
必須項目
公式テーマレポジトリ掲載要件
https://make.wordpress.org/themes/handbook/review/required/
Theme Review
Requirements
1. 基本 (まずは抑える)
2. 応用 (ここにベスト?プラクティスのヒン
トが!)
基本
基本 - コード
? php, Javascript のエラーなし
? グローバル変数、関数名、定数の名前、オプ
ション値のキーには、すべて接頭辞を付ける
基本 - ライセンス
? 100% GPL か 100% GPL 互換
? php は自動的に GPL となる
? css, js, img, font などのすべてのものを GPL に
することを 100% GPL と WordPress のコミュ
ニティは呼んでいます
基本 - 国際化 - i18n
? internationalization
? サイト閲覧者に表示されるすべてのテキスト
を翻訳可能にすること
? オリジナルのテキストは何語でもOK。ただ
し、1つの言語で書かれていること
基本 - セキュリティ
? 出力は全部エスケープ / esc_html, esc_attr,
esc_js, esc_textarea, esc_url
? 入力は全部バリデート
? 勝手にデータをユーザーのDBに保存したり、
何かをよそのサーバに送らない。
応用
応用 - プラグイン?テリトリ
? プラグインを含めない
? プラグインの領域と考えられることをしない
応用 - コア関連
? WordPress の既存の機能を再開発しない
? コアの機能を停止しない
? ツールバーを消さない
応用 - コンテンツ関係
? ユーザーのコンテンツを生成しない
? デフォルトの値をDBに保存しない
? 機能を設定させない。
? ショートコード を定義しない
? カスタム投稿タイプ、カスタムタクソノミを定義し
ない
応用 - スタイルとスクリプト
? CSSとJSのハードコーディング無し。全部
enqueue する。
応用 - テンプレート
? テンプレートヒエラルキーをきちんと使う
? テンプレートファイルの呼び出し用の関数をきちんと使
う
? TEMPLATEPATH ではなくget_template_directory()
? STYLESHEETPATH じゃなくて
get_stylesheet_directory()
? 子テーマが作れるように作る
読み取りたい
ベスト?プラクティス
ベスト?プラクティス1
“見た目に徹する”
presentation
vs
functionality
見た目はテーマに、機能はプラグインに
関連する項目例
? プラグインを含めない/プラグインの領域と考えられるもの
を入れない
? シェアボタン、OGP
? コンタクトフォーム
? ショートコードの定義をしない
? カスタム投稿タイプ、カスタム分類の定義をしない
? サイトの機能を設定させない。
ベスト?プラクティス2
“どんなプラグインとも機能する
ための作法を知る”
関連する項目例
? CSS/JSのハードコーディング無し。?
enqueue する。
? グローバルっぽいものは全部プレフィックス
? TEMPLATEPATH ではなくget_template_directory()
? STYLESHEETPATH じゃなくて get_stylesheet_directory()
? bloginfo( ‘url’ ) じゃなくて、 home_url();
? WordPress の機能を停止させない
ベスト?プラクティス3
“WordPress の機能をフル活用”
例
? メニューがうまく使えないか考える
? ウィジェットがうまく使えないか考える
? テンプレート阶层をちゃんと使う
ベスト?プラクティス4
“コンテンツに触らない”
presentation
vs
contents
データは誰のもの?
関連する項目例
? コンテンツを生成するための機能を提供しな
い
? ショートコードの定義をしない
? カスタム投稿タイプ、カスタム分類の定義を
しない
? デフォルト値をデータベースに保存しない
仕事への活かし方
今日のゴール
再利用可能性とメンテナンス性が高い
WordPressサイトを、安全に、短時間で、
チームで作るためのベスト?プラクティスを学
び、日々のテーマ制作の方法を改善すること。
4つのベスト?プラクティス
1. 見た目に徹する
2. どんなプラグインとも機能するための作法を知る
3. WordPress の機能をフル活用
4. コンテンツに触らない
まずは、読んでみよう!
実践してみよう!
隠しベスト?プラクティス
隠しベスト?プラクティス
“とはいえ、というのはある”
いつ、分離するのか
? 再利用するのかどうか
? そのサイトで再利用する
? ほかのサイトで再利用する
? 他の人が再利用する
? 機能が大きい
? テーマの再利用性が下がるのを許容できる
公式レポジトリの掲載要件を
守ることが
なぜ
効率化に繋がるのか
パブリッシングの民主化
リソース
? theme review requirements
? developer.wordpress.org
? コデックス と codex
質問タイム
? 見た目に徹する
? どんなプラグインとも機能するための作法を知る
? WordPress の機能をフル活用
? コンテンツに触らない
? とはいえ、、

More Related Content

Learning from theme review requirements