Successfully reported this slideshow.
Your SlideShare is downloading. ×

テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 49 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (18)

Advertisement

Similar to テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える (20)

テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える

  1. 1. テーマ制作の疑問と ノンプログラマーにも 優しいテーマを考える
  2. 2. 自己紹介 名前 Tsuyoshi. 職業 Webフロントエンドエンジニア ブログ http://webcake.no003.info/ Twitter @andante0727
  3. 3. 自己紹介 フリーの写真素材モデルをやっています
  4. 4. 自己紹介 • WordCamp Tokyo 参加 • WordCrab Fukui 参加 • WordCrab Tokyo スタッフ • WordBench静岡 登壇 • WordBench名古屋 参加 • WordCamp Osaka 参加
  5. 5. 自己紹介 そのうち全国制覇しそうな勢いだけど WordBench福岡は活動していなかった
  6. 6. 自己紹介 WordPress初心者 テーマ作成勉強会 カスタム投稿タイプとカスタムフィールドを使って Webサイトを作ろう! 自分で勉強会をやった
  7. 7. 自己紹介 あの三好さんも来てくれた!
  8. 8. 自己紹介 Contact Form7 → × Contact Form 7 → ● 我らが三好さんの有名プラグイン 書籍でも間違いがあるので注意
  9. 9. 自己紹介  祝!活動再開! WordBench福岡!
  10. 10. 自己紹介 WordPressと出会って一年ちょっと まだまだ初心者なのでお手柔らかに… こんな僕で良ければお仕事募集中です
  11. 11. WordPressの用途 突然ですが WordPressをどのように使っていますか?
  12. 12. WordPressの用途 ブログ Webサイトを構築 するCMS サービスを作るた めのフレームワーク
  13. 13. WordPressの用途  ブログ Webサイトを構築 するCMS サービスを作るた めのフレームワーク 僕は主にWEBサイト制作に使っている(小規模案件)
  14. 14. WordPressの用途 今回はこのケースに焦点をあてて 日頃の疑問や思うことをぶつけに…
  15. 15. 本日の議題 WordPressって難しくね?
  16. 16. 本日の議題
  17. 17. 本日の議題 えっ?なにこれ…PHP? ©PAKUTASO
  18. 18. 本日の議題 そう、PHP
  19. 19. 本日の議題 でもデザイナーさんやコーダーさんでもばりばり やってたりする
  20. 20. 本日の議題 何故か?
  21. 21. 本日の議題 情報量がめちゃくちゃ多い
  22. 22. 本日の議題 しかしどんなコードなのか 意味も分からないまま コピー・アンド・ペーストも多い
  23. 23. 本日の議題 Coder Designer Programmer WordPressを扱う人を大きく分けるとこんな感じ
  24. 24. 本日の議題 Coder Designer Programmer この人には割りと簡単かもしれないが
  25. 25. Coder Designer Programmer この人達にも分かりやすく可読性の高いテーマを考える 本日の議題
  26. 26. 本日の議題 読みにくいコードを書いているとどうなるか?
  27. 27. 本日の議題 他人から引き継いだテーマが訳分からない… ©PAKUTASO
  28. 28. 本日の議題 読みやすいテーマを 考えてみましょう
  29. 29. スペースとインデント <?php if(is_home()): ?> <p>Welcome!<?php bloginfo(’name’); ?></p> <?php else: ?> <p>Welcome!</p> <?php endif; ?> コードを整形する
  30. 30. スペースとインデント コードを整形する <?php if ( is_home() ) : ?> <p>Welcome!<?php bloginfo( ’name’ ); ?></p> <?php else : ?> <p>Welcome!</p> <?php endif; ?>
  31. 31. スペースとインデント コードを整形する <?php if ( is_home() ) : ?> <p>Welcome!<?php bloginfo( ’name’ ) ?></p> <?php else : ?> <p>Welcome!</p> <?php endif; ?>
  32. 32. : と endif; <?php if ( is_home() ) { ?> <p>Home!</p> <?php } elseif ( is_single() ) { ?> <p>Single!</p> <?php } else { ?> <p>Other!</p> <?php } ?> : と endif; 形式を使う
  33. 33. : と endif; : と endif; 形式を使う <?php if ( is_home() ) : ?> <p>Home!</p> <?php elseif ( is_single() ) : ?> <p>Single!</p> <?php else : ?> <p>Other!</p> <?php endif; ?>
  34. 34. : と endif; 他にもいろいろあるので覚えておくと便利 <?php while ( ) : ?> ∼ <?php endwhile; ?> <?php for ( ) : ?> ∼ <?php endfor; ?> <?php foreach ( ) : ?> ∼ <?php endforeach; ?> <?php switch ( ) : ?> ∼ <?php endswitch; ?>
  35. 35. 階層を意識する <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php endif; endwhile; ?> ∼ 一行に書きすぎない
  36. 36. 階層を意識する インデントも正しく行う <?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <?php endwhile; ?> <?php endif; ?>
  37. 37. タグっぽく書く <?php while ( have_posts() ) : the_post(); ?> <?php printf( '<h2><a href="%1s">%2s</a></h2>', get_permalink(), get_the_title() ); テンプレート内でのscanfやprintfの多用
  38. 38. タグっぽく書く <?php while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> テンプレート内のHTMLはなるべくPHPで吐かない
  39. 39. カスタムテンプレートタグ カスタムテンプレートタグ <?php while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_content_image(); ?>
  40. 40. カスタムテンプレートタグ 独自関数なのかWordPressの関数なのか 一見分からない
  41. 41. カスタムテンプレートタグ <?php while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php my_the_content_image(); ?> 接頭辞をつける?
  42. 42. カスタムテンプレートタグ wpとついたカスタムテンプレートタグは余計に混乱する <?php while ( have_posts() ) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php wp_article_image(); ?>
  43. 43. ゴミが残っている <?php /** * The Header for our theme. * * Displays all of the <head> section and everything up till <div id="main"> * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 テーマを複製して要らないコードやコメントが残ってる
  44. 44. functions.php コメントの全くないfunctions.php
  45. 45. functions.php 必要なのかどうか分からないグローバル変数
  46. 46. functions.php カスタム投稿タイプ カスタムタクソノミーの登録が やたらと長い
  47. 47. functions.php <?php function twentyeleven_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case 'pingback' : case 'trackback' : ?> <li class="post pingback"> <p><?php _e( 'Pingback:', 'twentyeleven' ); ?> <?php PHPコードとHTMLコードが混在
  48. 48. 以上をふまえて 議論タイム!
  49. 49. ありがとうございました 結局はケースバイケース? でも読みやすいコードを心がけたいですね!

×