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.

テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする

12,090 views

Published on

WordBench 東京2016の発表資料です。WordPressでよく言われる「テーマは見た目、プラグインは機能」という言葉に対して真っ向から勝負を挑みます。

Published in: Technology
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/369VOVb ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❤❤❤ http://bit.ly/369VOVb ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする

  1. 1. テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする WordBench東京2016/02 (C)2016 高橋文樹
  2. 2. おまえ誰? • 高橋文樹といいます。小説家で す。 • WordCamp Tokyo 2016の副実 行委員長です。 • 公式プラグインを6個ぐらい公開 しています。 • 僕のプラグインを3回以上インス トールした人は僕のKindle本を 全部買ってください。子供が飢 えています。
  3. 3. 免責事項 この発表はWordPressを使ってサイトを作るにあたり、 どれだけやれるのかということを主題にしています。 もしあなたがWordPressによる受託開発を行っており、 コーポレートサイトやらなんやらをたくさん作ることで 生計を立てているのであれば、 全然役に立たない発表になってしまいますので、 その点ご了承ください。
  4. 4. よくある誤解 • 「テーマは見栄えでプラグインは機能」なの? • コード的にはどっちも大して変わらない。違うのは エントリーポイント(WordPressのどこで一番最初 に実行されるか)ぐらい。 • 実現可能かどうかと、特定の誰か(WordPress.org) がそうしてほしいかどうかは別問題。
  5. 5. 公式リポジトリの規約 • Use WordPress functionality and features first, if available. • Don t include admin/feature pointers. • No pay wall restricting any WordPress feature. • No disabling of the admin tool bar. • Use get_template_directory() rather than TEMPLATEPATH to return the template path. • Use get_stylesheet_directory() rather than STYLESHEETPATH to return the stylesheet path. • Avoid hard coding to modify content. Instead, use function parameters, filters and action hooks where appropriate. For example wp_title should be modified using a filter. • Able to have child themes made from them. (Child theme ready) • Include comments_template(). • The theme tags and description must match the what the theme actually does in respect to functionality and design. • Use template tags and action/filter hooks properly. https://make.wordpress.org/themes/handbook/review/ required/#core-functionality-and-features
  6. 6. そうなんだ! でも公式テーマじゃないから!
  7. 7. 解決
  8. 8. プラグインとテーマの 違わなさ wp-settings.phpの 251行目か364行目か
  9. 9. 唯一の違い • テーマはプラグインより後に読み込まれるので、プラグイン がテーマを変更することはできるが、テーマがプラグインを 変えることはできない。 • テーマは定数で読み込まれるので、UserAgentでテーマを切 り替えるようなことをテーマ自身は基本的にできない(テー マスイッチ系プラグイン) • initやadmin_menuなどのクリティカルなフックは全部 after_setup_themeフック以降なので、違いは大してない。 管理画面を追加したりすることはテーマにもできる。
  10. 10. ところで
  11. 11. Terminology 【プラグイン】 語義: コンセントのように差したり抜いたりできる もの 【テーマ】 語義:主題
  12. 12. デモ
  13. 13. WordPressは プラグインがなくても動くが、 テーマがないと動かない!
  14. 14. 人生で重要なのは……  主題 > コンセント テーマ > プラグイン
  15. 15. 破滅派のテーマ • 後ろ向きのまま前へ進め! • パブリッシング・プラットフォーム • DIY(Do It Yourself)
  16. 16. やってみよう! テーマから色々やるよ
  17. 17. composer まず、テーマにcomposerを含め ます。
  18. 18. 読み込みます vendor/autoload.phpを読みこめば、require地獄から解放!
  19. 19. WPametuとは?
  20. 20. WPametuのここがすごい! • 設定ファイルを置いておくとデータベースを勝手に作ってくれる • なんちゃってORマッパーがある! • HTMLメルマガに欠かせない外部CSSをインラインCSSに展開す る機能がある! • コントローラーがある! クラスを置くだけでリライトルール追 加 • if( $_POST[ hoge ] ){}とか書かない! if($this->input- >post( hoge ){}でno warning!
  21. 21. 昨今のPHPフレームワークは • CakePHPとかは特定のフォルダに特定のクラスを継承し たクラスを置いておくだけで、RESTfullな作りになる。 • たとえば、http://exaple.jp/post/create/ にアクセスす ると投稿が作れるとか、そういうの。これを理解してい なくて、ルートにわけわかんないフォルダいっぱい作っ てるヤツを死ぬほど見てきた。 • WordPressのリライトルールは少し複雑なので、ここで 苦労しているプログラマも多い。
  22. 22. WPametuなら……
  23. 23. というわけで テーマで色々できる
  24. 24. アンチパターン • 神(ゴッド)オブジェクトを作らない。
 $myapp->post->custom->event_limit とかダメ! • シンタックスシュガーを多用しない
 $this->i18n->_( hogehoge ) = __( hogehoge , hametuha ) • Well Documentedは正義! コメント最高!
  25. 25. とはいえ…… • プラグインで機能を細かくわけた方が効率がいいの では? という疑問が必ず来る。
  26. 26. 汎用性と開発効率は トレードオフ
  27. 27. たとえば、匿名掲示板
  28. 28. 破滅派の場合
  29. 29. プラグインにした場合
  30. 30. 13kb < 177kb 13,312文字 < 181,248文字 桁が違う!
  31. 31. あと、こうなる
  32. 32. プラグインにする条件は? • その機能が汎用的であること • みんなが使うであろうユース ケースをきちんとカバーして おり、それに意味があること • 管理画面以外にUIを伴わない こと • お金儲けしたい タイトル ブラックジャックによろしく
 著作者名 佐藤秀峰
 サイト名 漫画 on web
  33. 33. プラグインのつらみ • WordPressはテーマに異常な裁量を置いており、テー マ作者は好きなUIを作ることができる。 • となると、プラグイン側で困るのはUIを作ること。た とえば、Twitter BootstrapでUIを作ることが決まって いれば、プラグインから好きなようにUIを作れる。 • 結果、プラグインからクソのようなCSSが大量に読み 込まれ、どうしようもない結果になる。
  34. 34. デモ
  35. 35. 今日の学び • テーマの方がプラグインよりずっと大事! 人生の テーマはあるけど、人生のプラグインはない! • なんだってやろうと思えばできる! • WordPressのTheme RequirementsにCSSフレームワー クを含めろ! BootstrapでもBourbonでも Foundationでもなんでもいいよ、ないよりマシだ よ!
  36. 36. ‒マルクス・アウレリス・アントニヌス “なにもしなかったということは、 悪いことをしなかったということではない”
  37. 37. ご静聴 ありがとうございました

×