Submit Search
Upload
WordPressで投稿記事情報の取得方法
•
12 likes
•
27,761 views
regret raym
Follow
第6回ゆるふわ勉強会。メインループとサブループ。
Read less
Read more
Report
Share
Report
Share
1 of 44
Download now
Download to read offline
Recommended
これからのpre_get_postsの話をしよう
これからのpre_get_postsの話をしよう
Hishikawa Takuro
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えよう
Naoki Matsuda
WordPress のキャッシュ機構
WordPress のキャッシュ機構
katanyan
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
Cherry Pie Web
What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6
Takashi Uemura
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
Takashi Uemura
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
Takashi Uemura
Recommended
これからのpre_get_postsの話をしよう
これからのpre_get_postsの話をしよう
Hishikawa Takuro
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えよう
Naoki Matsuda
WordPress のキャッシュ機構
WordPress のキャッシュ機構
katanyan
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
Cherry Pie Web
What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6
Takashi Uemura
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
Takashi Uemura
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
Takashi Uemura
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Nishida Kansuke
Wordpressで自分好みのテーマを作る
Wordpressで自分好みのテーマを作る
Takashi Uemura
Word press34
Word press34
BREN
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
Hidekazu Ishikawa
WordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまで
Takashi Uemura
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
第2回こけむさズword press部
第2回こけむさズword press部
Yuki Suzuki
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php -
BREN
WordBeach @kurudrive
WordBeach @kurudrive
Hidekazu Ishikawa
CodeIgniter入門
CodeIgniter入門
Sho A
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
Takashi Uemura
ゼロからつくるWord pressテーマ第9回
ゼロからつくるWord pressテーマ第9回
Hitsuji
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
WordPressのCSSを 理解しよう!
WordPressのCSSを 理解しよう!
BREN
SaCSS vol. 24
SaCSS vol. 24
jun sugimoto
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Tetsu Yama
concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識
Hishikawa Takuro
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
ブログの枠を超える?ためのWordPressカスタマイズ入門
ブログの枠を超える?ためのWordPressカスタマイズ入門
muracchi
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
Kazuhiro Hara
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
Yoshinori Kobayashi
More Related Content
What's hot
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Nishida Kansuke
Wordpressで自分好みのテーマを作る
Wordpressで自分好みのテーマを作る
Takashi Uemura
Word press34
Word press34
BREN
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
Hidekazu Ishikawa
WordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまで
Takashi Uemura
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
第2回こけむさズword press部
第2回こけむさズword press部
Yuki Suzuki
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php -
BREN
WordBeach @kurudrive
WordBeach @kurudrive
Hidekazu Ishikawa
CodeIgniter入門
CodeIgniter入門
Sho A
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
Takashi Uemura
ゼロからつくるWord pressテーマ第9回
ゼロからつくるWord pressテーマ第9回
Hitsuji
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
WordPressのCSSを 理解しよう!
WordPressのCSSを 理解しよう!
BREN
SaCSS vol. 24
SaCSS vol. 24
jun sugimoto
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Tetsu Yama
concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識
Hishikawa Takuro
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
ブログの枠を超える?ためのWordPressカスタマイズ入門
ブログの枠を超える?ためのWordPressカスタマイズ入門
muracchi
What's hot
(20)
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Wordpressで自分好みのテーマを作る
Wordpressで自分好みのテーマを作る
Word press34
Word press34
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
WordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまで
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
第2回こけむさズword press部
第2回こけむさズword press部
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php -
WordBeach @kurudrive
WordBeach @kurudrive
CodeIgniter入門
CodeIgniter入門
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
ゼロからつくるWord pressテーマ第9回
ゼロからつくるWord pressテーマ第9回
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
WordPressのCSSを 理解しよう!
WordPressのCSSを 理解しよう!
SaCSS vol. 24
SaCSS vol. 24
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
ブログの枠を超える?ためのWordPressカスタマイズ入門
ブログの枠を超える?ためのWordPressカスタマイズ入門
Viewers also liked
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
Kazuhiro Hara
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
Yoshinori Kobayashi
Photoshop cs5 read me
Photoshop cs5 read me
Peter Rus LION
Secrets for Growing Conference Sponsorship Revenues
Secrets for Growing Conference Sponsorship Revenues
Donna Kastner
Incidents
Incidents
Ed Mumm
21st century skills
21st century skills
Germain Anthony
Port of Halifax presentation
Port of Halifax presentation
Halifax_Gateway
Iltgel
Iltgel
Davaa-Ochir Azzaya
Honey
Honey
Makala (D)
Pitch
Pitch
Michael93
Presentation1
Presentation1
Devavrata Singh
Aistente empresarial
Aistente empresarial
lore04val2012
Office location photos
Office location photos
kylelabrache
Perdoar Não é Preciso
Perdoar Não é Preciso
Sandra Braconnot
Ok. rude hand gestures of the world
Ok. rude hand gestures of the world
Gede Saputra
Rain, rain again..
Rain, rain again..
Makala (D)
Lots of baskets full of Easter eggs
Lots of baskets full of Easter eggs
Makala (D)
Pint of science pdf friendly-2
Pint of science pdf friendly-2
Jon Reades
航海王電子書
航海王電子書
東偉 蘇
Library information centre
Library information centre
spiralz
Viewers also liked
(20)
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
Photoshop cs5 read me
Photoshop cs5 read me
Secrets for Growing Conference Sponsorship Revenues
Secrets for Growing Conference Sponsorship Revenues
Incidents
Incidents
21st century skills
21st century skills
Port of Halifax presentation
Port of Halifax presentation
Iltgel
Iltgel
Honey
Honey
Pitch
Pitch
Presentation1
Presentation1
Aistente empresarial
Aistente empresarial
Office location photos
Office location photos
Perdoar Não é Preciso
Perdoar Não é Preciso
Ok. rude hand gestures of the world
Ok. rude hand gestures of the world
Rain, rain again..
Rain, rain again..
Lots of baskets full of Easter eggs
Lots of baskets full of Easter eggs
Pint of science pdf friendly-2
Pint of science pdf friendly-2
航海王電子書
航海王電子書
Library information centre
Library information centre
Similar to WordPressで投稿記事情報の取得方法
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya
tamotsu toyoda
WordPressとjQuery
WordPressとjQuery
Seto Takahiro
WordPressプラグイン作成入門
WordPressプラグイン作成入門
Yuji Nojima
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
Hidekazu Ishikawa
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
タカシ キタジマ
WordPress と Bootstrap
WordPress と Bootstrap
株式会社ガリレオ(開発グループ)
ゼロからつくるWord pressテーマ第5回 後編
ゼロからつくるWord pressテーマ第5回 後編
Hitsuji
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
WordPress公式テーマ登録のための5ステップ
WordPress公式テーマ登録のための5ステップ
Mignon Style
ゼロからつくるWord pressテーマ第6回
ゼロからつくるWord pressテーマ第6回
Hitsuji
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門
Michinari Odajima
WordBeachDeathMarchWorkshop
WordBeachDeathMarchWorkshop
takashi ono
テンプレートエンジンって何?
テンプレートエンジンって何?
Shoichi Takahashi
2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO
Takashi Kitamura
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
Php+Word Press
Php+Word Press
Hideo Kashioka
SaCSS vol.24
SaCSS vol.24
jun sugimoto
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
VOYAGE GROUP
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
Masao Maeda
Similar to WordPressで投稿記事情報の取得方法
(20)
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya
WordPressとjQuery
WordPressとjQuery
WordPressプラグイン作成入門
WordPressプラグイン作成入門
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
WordPress と Bootstrap
WordPress と Bootstrap
ゼロからつくるWord pressテーマ第5回 後編
ゼロからつくるWord pressテーマ第5回 後編
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
WordPress公式テーマ登録のための5ステップ
WordPress公式テーマ登録のための5ステップ
ゼロからつくるWord pressテーマ第6回
ゼロからつくるWord pressテーマ第6回
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門
WordBeachDeathMarchWorkshop
WordBeachDeathMarchWorkshop
テンプレートエンジンって何?
テンプレートエンジンって何?
2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO
20091030cakephphandson 01
20091030cakephphandson 01
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
Php+Word Press
Php+Word Press
SaCSS vol.24
SaCSS vol.24
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
More from regret raym
React入門-JSONを取得して表示する
React入門-JSONを取得して表示する
regret raym
SlackにHubotを設定して対話する
SlackにHubotを設定して対話する
regret raym
CreateJSを使ったアニメーション表現の基礎
CreateJSを使ったアニメーション表現の基礎
regret raym
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
regret raym
FluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールする
regret raym
Chefで作る開発環境
Chefで作る開発環境
regret raym
Dockerの導入
Dockerの導入
regret raym
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
regret raym
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01
regret raym
MT東京 ぱくたそ/PAKUTASO
MT東京 ぱくたそ/PAKUTASO
regret raym
今から始めるPhotoshopによるWeb制作-初期設定編
今から始めるPhotoshopによるWeb制作-初期設定編
regret raym
Web制作のアレコレ
Web制作のアレコレ
regret raym
Yurufuwa007
Yurufuwa007
regret raym
WordCamp Tokyo2012 handson Portfolio
WordCamp Tokyo2012 handson Portfolio
regret raym
WordCamp Tokyo2012 Session
WordCamp Tokyo2012 Session
regret raym
Movable typeでモバイルギャラリーサイト
Movable typeでモバイルギャラリーサイト
regret raym
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
regret raym
Wp html5
Wp html5
regret raym
More from regret raym
(18)
React入門-JSONを取得して表示する
React入門-JSONを取得して表示する
SlackにHubotを設定して対話する
SlackにHubotを設定して対話する
CreateJSを使ったアニメーション表現の基礎
CreateJSを使ったアニメーション表現の基礎
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
FluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールする
Chefで作る開発環境
Chefで作る開発環境
Dockerの導入
Dockerの導入
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01
MT東京 ぱくたそ/PAKUTASO
MT東京 ぱくたそ/PAKUTASO
今から始めるPhotoshopによるWeb制作-初期設定編
今から始めるPhotoshopによるWeb制作-初期設定編
Web制作のアレコレ
Web制作のアレコレ
Yurufuwa007
Yurufuwa007
WordCamp Tokyo2012 handson Portfolio
WordCamp Tokyo2012 handson Portfolio
WordCamp Tokyo2012 Session
WordCamp Tokyo2012 Session
Movable typeでモバイルギャラリーサイト
Movable typeでモバイルギャラリーサイト
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
Wp html5
Wp html5
WordPressで投稿記事情報の取得方法
1.
WordPressで投稿情報の取得方法
第6回ゆるふわ勉強会
2.
プロフィール
• Yuu / Yuji Tsukaguchi • Web Designer Community • WordBench 東京 at GMO(STAFF) • Movable Type Developer Meet up Twitter : regret_raym Tokyo 2012(LT) blog : creator-life.net • WordCamp Tokyo 2012 (Session&Handson)
3.
WordPressで投稿情報の取得
4.
投稿の基本項目とタグ
項目 表示用関数タグ フィールドタイプ タイトル <?php the_title();?> テキストフィールド 本文 <?php the_content();?> テキストエリア 抜粋 <?php the_excerpt(); ?> テキストエリア タグ <?php the_tags(); ?> テキストフィールド カテゴリ <?php the_category?> チェックボックス サムネイル画像 (アイキャッチ) <?php the_post_thumbnail(); ?> 参照フィールド ファイル名(ス <?php echo $post- テキストフィールド ラッグ/slug) >post_name; ?> 公開日付 <?php the_date(); ?> テキストフィールド ※抜粋、サムネイルなどは予め、テーマのfunctions.phpで機能を有効化する必要があります。 ※実際はif文や、変数に入れたり使いまわしたりするので、上記以外にもタグはいっぱいあります。
5.
表示させるために • タグだけを張っても、「え、それどこの記事の
タイトルなの?」ってなります。 • 記事が1000件あったとしたら、どれを表示する とか、どれだけ表示するとか条件を指定してあ げなければなりません。 • WordPressでは表示するために、ループ処理を 書く必要があります。
6.
最新記事10件の タイトルと内容を表示する
7.
投稿情報を読み込む <?php the_post();
// 投稿情報を読み込む ?>
8.
読み込んだ情報を表示させる <?php the_post();
// 投稿情報を読み込む the_title(); // タイトルを表示する the_content(); // 本文を表示する ?>
9.
記事が投稿されているか調べる <?php have_posts();
// 投稿があるか調べる the_post(); // 投稿情報を読み込む the_title(); // タイトルを表示する the_content(); // 本文を表示する ?>
10.
if文を使おう <?php if (
have_posts() ) { // 記事があったらここの記述が表示 } else { // なかったらここの記述が表示される } ?>
11.
調べた結果で表示を変える <?php if (
have_posts() ) { // 記事があったら the_post(); the_title(); the_content(); } else { // 記事がなかったら echo ’<p>記事がありませんでした</p>’; } ?>
12.
調べた記事分を繰り返す <?php if (
have_posts() ) { while ( have_posts() ) { // 記事あるだけ繰り返す the_post(); the_title(); the_content(); } } else { echo ’<p>記事がありませんでした</p>’; } ?>
13.
ループ完成 <?php if (
have_posts() ) { while ( have_posts() ) { the_post(); the_title(); the_content(); } } else { echo ’<p>記事がありませんでした</p>’; } ?>
14.
PHPの記述を分ける <?php
分かりやすいように、 if ( have_posts() ) { ?> カッコの後ろなどに <?php while ( have_posts() ) { 「?>」を入れる the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content(); ?> <?php } ?> <?php } else { ?> <p>記事がありませんでした</p> <?php } ?>
15.
ちょっと整理する <?php if (
have_posts() ) { ?> <?php while ( have_posts() ) { the_post(); ?> <h2><?php the_title(); ?> <?php the_content(); ?> <?php } ?> 改行とか空白を消して整理 <?php } else { ?> <p>記事がありませんでした</p> <?php } ?>
16.
WordPressの書き方に倣う <?php if (
have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <h2><?php the_title(); ?> <?php the_content(); ?> <?php endwhile; ?> { → : に変更 } → end~~に変更 <?php else : ?> <p>記事がありませんでした</p> <?php endif; ?>
17.
ループ完成 <?php if (
have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <h2><?php the_title(); ?> <?php the_content(); ?> <?php endwhile; ?> <?php else : ?> <p>記事がありませんでした</p> <?php endif; ?>
18.
ここまでのまとめ • ここまでがWordPressのメインループと
呼ばれる記述部分 • 次のページからは、メインループの表示 条件を変えたり、表示する条件を変えて ループを複数作りたい場合の変更方法
19.
表示条件を変更しよう WordPressでは、$wp_query の値を変更する ことで、表示する条件を変えることができます。
20.
表示条件の変更方法 • query_posts関数を使う • get_posts関数を使う •
WP_Queryクラスを使う • クエリーの改変 – pre_get_postsとis_main_query(WP3.3以上)
21.
query_posts関数
22.
query_postsとは? query_posts は
WordPressループ(メインループ)で表示される投稿 を変更するために使います。 • 使用例 – 指定した期間の投稿すべてを表示する。 – 投稿の表示順序を変更する。 • 指定できる条件 – 投稿者、カテゴリ、タグ、タクソノミー、投稿・固 定ページ、ページ送り、オフセット、並び順・並び 替え、先頭固定投稿、日時、カスタムフィールド – 条件の組み合わせと除外 テンプレートタグ/query posts より http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83% AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts
23.
query_posts <?php $args
= array( ここに条件書く ); // ループ条件を書く query_posts( $args ); ?> // ループ条件セット <?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> ~省略~ <?php endwhile; ?> <?php else : ?> <p>記事がありませんでした</p> <?php endif; ?> <?php wp_reset_query(); ?> // ループ条件をリセット
24.
query_postsの注意点 • query_postsは、表示条件を上書き処理している。 • ページ送りのナビゲーションやカテゴリ選択を無効化し
てしまう。query_postsの引数に、$query_stringを与 えれば無効化された情報が参照できる。 • wp_reset_query() を呼び出して変更した条件をきちん とリセットすること。 • データベースへのアクセスが増える。
25.
get_posts関数
26.
get_postsとは? get_postsは、複数のループ(マルチループ・サブループ)を作成する ために使います。 • 使用例
– query_postsループ以外のループを作成する – 現在の記事の添付ファイルを表示する • 指定できる条件 – WP_Queryクラスを利用しているため、gets_posts のほうが指定できる条件が細かい • wp-includes/post.phpにソースコードがある テンプレートタグ/get posts より http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3% 83%88%E3%82%BF%E3%82%B0/get_posts
27.
get_posts <?php
$args = array( ここに条件書く ); // ループ条件を書く // ループ条件セット $my_posts = get_posts( $args ); // グローバル変数を読み込む global $post; ?> <?php if ( have_posts() ) : ?> <?php foreach ( $my_posts as $post ) : setup_postdata( $post ); ?> ~省略~ // foreach文を使って <?php endforeach; ?> 配列の数だけループ <?php else : ?> <p>記事がありませんでした</p> <?php endif; ?> <?php wp_reset_postdata(); ?> // ループ条件をリセットする
28.
get_postsの注意点 • get_postsはグローバル変数$wp_queryを上書
きをせずに、新たなクエリーを作成する • query_postsと初期値の値が異なる – suppress_filtersの初期値がtrue – ignore_sticky_postsの初期値がtrue – no_found_rowsの初期値がtrue
29.
WP_Queryクラス
30.
WP_Queryクラスとは? •
WP_Query は wp-includes/query.php に定義されているクラスで、WordPress ブログへの複雑なリクエストを取り扱います。 wp-blog-header.php (バージョン 2.0 では WP クラス) が $wp_query オブジェクトに現在のリクエストを定義する 情報を与えることで、$wp_query はどのタイプのクエリを扱っているのか (カテゴ リーアーカイブ、年月別アーカイブ、フィード、検索など) を確定し、要求された投 稿を取り出します。$wp_query はリクエスト上の情報を多く保持していて、後から でも利用することができます。 関数リファレンス/WP Query より http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83% 95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#WP_Query.E 3.81.AB.E5.83.8D.E3.81.8D.E3.81.8B.E3.81.91.E3.82.8B WP_Queryクラスは、WP_Query オブジェクトを新たに生成するため、 get_post関数同様に複数のループを作ることができます。
31.
WP_Queryクラス <?php $args
= array( ここに条件書く ); $my_query = new WP_Query( $args ); ?> <?php if ( $my_query->have_posts() ) : ?> <?php while ( $my_query->have_posts() ) : $my_query- >the_post(); ?> <?php endwhile; ?> <?php else : ?> <p>記事がありませんでした</p> <?php endif; ?> <?php wp_reset_postdata(); ?>
32.
クエリーの改変 pre_get_postsとis_main_query
33.
デフォルトの表示条件の変更 • メインループしか使わない場合かつ、その表示を変えた
い場合は、query_postsを使わずに、pre_get_posts アクションを使う。 • is_main_queryで条件判定することにより、アクション の影響をメインクエリーのみに指定することができる
34.
functions.phpに追記 例)カテゴリーアーカイブだったら表示する件数を5件にする function category_display_five_articles( $wp_query
) { if ( $wp_query->is_main_query() && $wp_query->is_category() ) { $wp_query->set( 'posts_per_page', 5 ); } } add_action( 'pre_get_posts', 'category_display_five_articles' ); 3.3の新しい関数 is_main_query を使おう より http://www.warna.info/archives/1964/
35.
ここまでのまとめ • メインループの条件を変更するなら、query_postsを使う • メインループ以外にループがあるなら、get_postsを使う •
メインループしかそもそも使わないのであれば、query_postsは使 わずに、pre_get_postsアクションでデフォルト値を変えてしまお う。 • WP_Queryクラスを使えば、get_postsと同じように独自ループが 作れる。
36.
query_postsとget_postsの違い メインループとサブループ
37.
メインループという箱がありました。 この箱の色は白色です。 この箱の色を赤色に塗り替えたい。 そう願ったある日のこと。
38.
query_posts メインループを塗るための専用筆 「query_posts」を貰いました。
39.
箱はめでたく赤色に染まりました。
40.
箱を違う色で量産したいと 思いましたが、query_posts は使い切りなので、新しい 箱と筆が必要になりました。
41.
get_posts 新しい箱「サブループ」を塗るための専用筆 「get_posts」を貰いました。
42.
get_postsという筆を使って 色を塗りました。 しかもこの筆は、何度でも 使うことができます。
43.
いろいろな箱が量産できました
44.
おしまい
Download now