135
第19回WordBench神戸 home.phpを使ってTOP ページをカスタマイズしよう! photo by Huasonic http://www.flickr.com/photos/huasonic/3008074711/

Home.phpを使ってtopページをカスタマイズしよう!

Embed Size (px)

Citation preview

Page 1: Home.phpを使ってtopページをカスタマイズしよう!

第19回WordBench神戸

home.phpを使ってTOPページをカスタマイズしよう!

photo by Huasonichttp://www.flickr.com/photos/huasonic/3008074711/

Page 2: Home.phpを使ってtopページをカスタマイズしよう!

photo by anko.gaku_ulahttp://www.flickr.com/photos/anko3-gaku_ula/3738379893/in/photostream/

はじめまして!

簡単に自己紹介

Page 3: Home.phpを使ってtopページをカスタマイズしよう!

細谷 崇(ほそや たかし)NPO法人コミュニティリンク

代表理事

Page 4: Home.phpを使ってtopページをカスタマイズしよう!

NPO法人って福祉じゃないの?

Page 5: Home.phpを使ってtopページをカスタマイズしよう!

19分野情報化社会の発展を図る活動

Page 6: Home.phpを使ってtopページをカスタマイズしよう!

WordPressとの関係

Page 7: Home.phpを使ってtopページをカスタマイズしよう!

WordPress使ってWEBサイト制作

Page 8: Home.phpを使ってtopページをカスタマイズしよう!

共感寄付

Page 9: Home.phpを使ってtopページをカスタマイズしよう!

Kifu KOBE

Page 10: Home.phpを使ってtopページをカスタマイズしよう!

ウブスナ

Page 11: Home.phpを使ってtopページをカスタマイズしよう!

WordPress使って勉強会

Page 12: Home.phpを使ってtopページをカスタマイズしよう!

西宮北口駅周辺毎月2回

Page 13: Home.phpを使ってtopページをカスタマイズしよう!

箕面駅周辺 毎月2回

Page 14: Home.phpを使ってtopページをカスタマイズしよう!

富田林市 毎月1回

Page 15: Home.phpを使ってtopページをカスタマイズしよう!

堺駅周辺 毎月1回次回:1月26日(土)

Page 16: Home.phpを使ってtopページをカスタマイズしよう!
Page 17: Home.phpを使ってtopページをカスタマイズしよう!

本日のお話の概要

Page 18: Home.phpを使ってtopページをカスタマイズしよう!

home.phpを使ってTOPページをカスタマイズ

Page 19: Home.phpを使ってtopページをカスタマイズしよう!

例えばこんなことないですか?

Page 20: Home.phpを使ってtopページをカスタマイズしよう!

企業サイト用のWPテンプレートをダウンロードしてこれで納品してやるぜ!

Page 21: Home.phpを使ってtopページをカスタマイズしよう!

お客さんに見せたところ

Page 22: Home.phpを使ってtopページをカスタマイズしよう!

10件から5件表示に変更

Page 23: Home.phpを使ってtopページをカスタマイズしよう!

イベント情報を掲載したい

Page 24: Home.phpを使ってtopページをカスタマイズしよう!

TOPペーじのカスタマイズの要望が出てしまった・・・

Page 25: Home.phpを使ってtopページをカスタマイズしよう!

PHP?そんなもん知らねーな

Page 26: Home.phpを使ってtopページをカスタマイズしよう!

ってなった時に役立つお話です

Page 27: Home.phpを使ってtopページをカスタマイズしよう!

では、TOPページのカスタマイズ

Page 28: Home.phpを使ってtopページをカスタマイズしよう!

とりま、index.phpを修正すればいいんだろ?

Page 29: Home.phpを使ってtopページをカスタマイズしよう!

ちょっと待った!!

Page 30: Home.phpを使ってtopページをカスタマイズしよう!

index.php=TOPページなのか?

Page 31: Home.phpを使ってtopページをカスタマイズしよう!

WordPressのテンプレート階層を見てみよう

Page 34: Home.phpを使ってtopページをカスタマイズしよう!
Page 35: Home.phpを使ってtopページをカスタマイズしよう!
Page 36: Home.phpを使ってtopページをカスタマイズしよう!
Page 37: Home.phpを使ってtopページをカスタマイズしよう!
Page 38: Home.phpを使ってtopページをカスタマイズしよう!
Page 39: Home.phpを使ってtopページをカスタマイズしよう!
Page 41: Home.phpを使ってtopページをカスタマイズしよう!

すべての道はindex.phpに通ず

photo by ho visto nina volarehttp://www.flickr.com/photos/41099823@N00/4434875759/

Page 42: Home.phpを使ってtopページをカスタマイズしよう!

ってことで

Page 43: Home.phpを使ってtopページをカスタマイズしよう!

index.php≠TOPページ

Page 44: Home.phpを使ってtopページをカスタマイズしよう!

じゃぁ、TOPページはどのテンプレートになるのか

Page 45: Home.phpを使ってtopページをカスタマイズしよう!

それもテンプレート階層に書いてます

Page 46: Home.phpを使ってtopページをカスタマイズしよう!
Page 47: Home.phpを使ってtopページをカスタマイズしよう!
Page 48: Home.phpを使ってtopページをカスタマイズしよう!
Page 49: Home.phpを使ってtopページをカスタマイズしよう!
Page 50: Home.phpを使ってtopページをカスタマイズしよう!
Page 51: Home.phpを使ってtopページをカスタマイズしよう!

TOPページと言えるテンプレートfront-page.php

home.php

Page 52: Home.phpを使ってtopページをカスタマイズしよう!

front-page.phpとhome.phpの違い

Page 53: Home.phpを使ってtopページをカスタマイズしよう!
Page 54: Home.phpを使ってtopページをカスタマイズしよう!
Page 55: Home.phpを使ってtopページをカスタマイズしよう!

TOPページ=front-page.phphome.phpは日の目を見ることはない

front-page.php>home.php

Page 56: Home.phpを使ってtopページをカスタマイズしよう!
Page 57: Home.phpを使ってtopページをカスタマイズしよう!
Page 58: Home.phpを使ってtopページをカスタマイズしよう!
Page 59: Home.phpを使ってtopページをカスタマイズしよう!

TOPページ=front-page.php※トップページ(固定ページ)に紐付く

ブログ(固定ページ)=home.php

Page 60: Home.phpを使ってtopページをカスタマイズしよう!

固定ページと紐付く為、固定ページの内容をTOPページに表示しやすい

改めて取得し直す必要なし

Page 61: Home.phpを使ってtopページをカスタマイズしよう!

front-page.phpとhome.phpの使い分け

Page 62: Home.phpを使ってtopページをカスタマイズしよう!

サイトのTOPページとブログのTOPページを別にしたい場合

Page 63: Home.phpを使ってtopページをカスタマイズしよう!

参考サイト:http://bren.jp/

Page 64: Home.phpを使ってtopページをカスタマイズしよう!
Page 65: Home.phpを使ってtopページをカスタマイズしよう!
Page 66: Home.phpを使ってtopページをカスタマイズしよう!

front-page.php

Page 67: Home.phpを使ってtopページをカスタマイズしよう!

別に一緒でもOKまたはブログ機能は使わない場合

Page 68: Home.phpを使ってtopページをカスタマイズしよう!

home.php

Page 69: Home.phpを使ってtopページをカスタマイズしよう!

今回はhome.php

Page 70: Home.phpを使ってtopページをカスタマイズしよう!

投稿内容の一覧を表示したいなら

Page 71: Home.phpを使ってtopページをカスタマイズしよう!

投稿内容の一覧を表示したいなら

<?php if ( have_posts() ) : ?> while ( have_posts() ) : the_post(); ?> <ul><li><?php the_time('Y年m月d日'); ?></li><li><?php the_title(); ?></li>

</ul><?php endwhile; endif; ?>

Page 72: Home.phpを使ってtopページをカスタマイズしよう!

投稿内容の一覧を表示したいなら

<?php if ( have_posts() ) :  while ( have_posts() ) : the_post(); ?> <ul><li><?php the_time('Y年m月d日'); ?></li><li><?php the_title(); ?></li>

</ul><?php endwhile; endif; ?>

Page 73: Home.phpを使ってtopページをカスタマイズしよう!

なんで投稿の一覧を取得することが出来るのか?

Page 74: Home.phpを使ってtopページをカスタマイズしよう!
Page 75: Home.phpを使ってtopページをカスタマイズしよう!
Page 76: Home.phpを使ってtopページをカスタマイズしよう!
Page 77: Home.phpを使ってtopページをカスタマイズしよう!

10件から5件表示に変更

Page 78: Home.phpを使ってtopページをカスタマイズしよう!

この要望の対応するなら

Page 79: Home.phpを使ってtopページをカスタマイズしよう!

ここの数字を5に変更すればOK

Page 80: Home.phpを使ってtopページをカスタマイズしよう!

でも全ての一覧表示が5件表示となる

Page 81: Home.phpを使ってtopページをカスタマイズしよう!

TOPページの投稿表示のみを5件にしたい・・・

Page 82: Home.phpを使ってtopページをカスタマイズしよう!

実現方法はいろいろ

Page 83: Home.phpを使ってtopページをカスタマイズしよう!

方法①:pre_get_postsフック方法②:get_posts関数方法③:query_posts関数方法④:WP_Queryクラス

Page 84: Home.phpを使ってtopページをカスタマイズしよう!

方法①:pre_get_postsフック方法②:get_posts関数方法③:query_posts関数方法④:WP_Queryクラス

Page 85: Home.phpを使ってtopページをカスタマイズしよう!

方法①:pre_get_postsフック方法②:get_posts関数方法③:query_posts関数方法④:WP_Queryクラス

データを再取得

Page 86: Home.phpを使ってtopページをカスタマイズしよう!

処理速度を気にするならpre_get_postsフックがオススメ

Page 87: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 88: Home.phpを使ってtopページをカスタマイズしよう!

pre_get_posts

Page 89: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 90: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 91: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 92: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 93: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 94: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 95: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 96: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 97: Home.phpを使ってtopページをカスタマイズしよう!

query_posts関数

Page 98: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 99: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 100: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 101: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 102: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 103: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 104: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 105: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 106: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 107: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 108: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 109: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 110: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 111: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 112: Home.phpを使ってtopページをカスタマイズしよう!

get_posts関数

Page 113: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 114: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 115: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 116: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 117: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 118: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 119: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 120: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 121: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 122: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 123: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 124: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみる

Page 125: Home.phpを使ってtopページをカスタマイズしよう!

簡単に処理の流れを見てみるsetup_postdataをしなければ、メインクエリーで取得したデータを上書きしない

Page 126: Home.phpを使ってtopページをカスタマイズしよう!

WP_Queryクラス

Page 127: Home.phpを使ってtopページをカスタマイズしよう!

割愛

Page 128: Home.phpを使ってtopページをカスタマイズしよう!

pre_get_postsフックfunctions.php// TOPページの投稿一覧を5件表示するfunction home_display_five_articles( $wp_query ) { if ( $wp_query->is_main_query() && $wp_query->is_home() ) { $wp_query->set( 'posts_per_page', 5 );

}}add_action( 'pre_get_posts', 'home_display_five_articles' );

Page 129: Home.phpを使ってtopページをカスタマイズしよう!

pre_get_postsフックfunctions.php// TOPページのNewsカテゴリーの投稿を5件表示するfunction home_display_five_articles( $wp_query ) { if ( $wp_query->is_main_query() && $wp_query->is_home() ) { $wp_query->set( 'posts_per_page', 5 ); $wp_query->set( 'category_name', 'news' );

}}add_action( 'pre_get_posts', 'home_display_five_articles' );

http://codex.wordpress.org/Class_Reference/WP_Query

Page 130: Home.phpを使ってtopページをカスタマイズしよう!

get_posts関数home.php<?php // 5件データを取得する ?><?php $my_posts=get_posts('posts_per_page=5'); ?>

<?php foreach($my_posts as $my_post): ?> <ul> <li><?php echo $my_post->post_date; ?></li> <li><?php echo $my_post->post_title; ?></li> </ul><?php endforeach; ?>

Page 131: Home.phpを使ってtopページをカスタマイズしよう!

get_posts関数home.php<?php // 5件データを取得する ?><?php $my_posts=get_posts('posts_per_page=5'); ?>

<?php foreach($my_posts as $my_post): ?> <ul> <li><?php echo $my_post->post_date; ?></li> <li><?php echo $my_post->post_title; ?></li> </ul><?php endforeach; ?>

Page 132: Home.phpを使ってtopページをカスタマイズしよう!

get_posts関数// 5件データを取得する<?php $my_posts=get_posts('posts_per_page=5'); ?>

// 5件記事を取得してランダム表示する<?php $my_posts=get_posts('posts_per_page=5&orderby=rand'); ?>

// 日付けを古いもの順に表示する<?php $my_posts=get_posts('posts_per_page=5&orderby=post_date&order=ASC'); ?>

// 『news』カテゴリーに所属している記事のみ5件表示する<?php $my_posts=get_posts('posts_per_page=5&category_name=news'); ?>

Page 133: Home.phpを使ってtopページをカスタマイズしよう!

イベント情報を掲載したい

Page 134: Home.phpを使ってtopページをカスタマイズしよう!

get_posts関数home.php<?php // 『event』カテゴリーの中から5件データを取得する ?><?php $my_posts=get_posts('category_name=events&posts_per_page=5'); ?>

<?php foreach($my_posts as $my_post): ?><ul> <li><?php echo $my_post->post_date; ?></li> <li><?php echo $my_post->post_title; ?></li> </ul>

<?php endforeach; ?>

Page 135: Home.phpを使ってtopページをカスタマイズしよう!

ご清聴ありがとうございました

tkc49

takashi.hosoya