Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Learning from theme review requirements

21,124 views

Published on

It's the slide I used in WordCamp Kansai 2015

Published in: Technology
  • Be the first to comment

Learning from theme review requirements

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

×