嫁の人用:WordPressで記事を取得、ループしたいときに-その1
2016/09/22
WordPressの制御部分の基本です。
主にメインループの事を描かせていただきます。
メイン・サブループの事についてはこちらで詳しく書かせていただいておりますのでご参照下さい。
ということで、私も忘れそうになる部分があるので覚書きしておきます。
まずは基本のループから
ここ(web帳 様)にわかりやすく書いております。
上のコードが「記事をありったけじゃんじゃん持って来い!」です。
1行目:記事はあるか?なければ用はねえ!
2行目:記事があるだけ繰り返し
3行目:記事タイトル表示
4行目:記事コンテンツ表示
5行目:繰り返しの終端
6行目:記事がなかった時の処理
7行目:「記事がありません」
8行目:1行目の条件終端
といった感じです。
実際の記事出力は2行目と3行目の間に書きます。
記事取得の条件はfunction.phpに書こう
記事をありったけじゃんじゃん持ってくるだけでなく、「このページでは○○カテゴリの記事を○件持ってきて欲しい」など細かく指示したいことがあると思います。
以前は「query_posts」を使ってループの前に条件を書いていたのですが、WordPress親方から「推奨されてないよ」と警告がサラッと出されているので、function.phpに以下の様なコードを書くことになります。
これは「pre_get_posts」というやつで、通常の命令とは違っててクエリが動く(記事が読み込まれる)前に勝手に動く命令なのです(これを「フック」などと言ったりする)。
ですので、ここに「どの表示場所の場合」で「どんな記事表示の条件」を使うのかを指定することになります。
上のコードであれば、「home.phpまたはアーカイブページの場合」、「1ページに10件ずつ表示、ただしカテゴリIDが5の記事は除く」となります。
条件については関数リファレンス/WP Queryの条件を見ると良いでしょう(pre_get_postsとは違う命令ですが、項目は共通なので)
あと、ハマリポイントを書いておくと、固定ページ内ではpre_get_postsは使えません。ご注意を!(メインループ外なので・・・詳しくはこちら)
関連記事
-
-
ページネーションがおかしいぞ?
とあるサイトで、ページ送りがおかしくなっていました。 具体的に言うと、本来6ペー …
-
-
WordPressで記事ごとに簡単リダイレクト「Page Links To」
WordPressの記事を別ページに置き換えたくなるときってありませんか? たと …
-
-
ショートコードの出力結果が固定ページや投稿の上部に表示される
またもやWordPress覚書。もはやメモ帳代わり。 固定ページなどの途中でPH …
-
-
Advanced Custom Fieldsで作ったカスタムフィールドの画像をアイキャッチ画像にする
カスタムフィールドで投稿した画像を自動でアイキャッチ画像にしたかったのですが、A …
-
-
category.php内で現在のカテゴリを取得する
カテゴリの取得でハマったので忘備録しておきます。 いつもはget_the_cat …
-
-
カスタムフィールドの出力(テンプレート作成)について
表題の通り覚え書き。 テンプレートを作る。page.phpなどを元にしてテンプレ …
-
-
WEBサイトのスクリーンショットをサムネイル化する
弊社の制作実績を登録していこうと思ったのですが、直近のものだけでも軽く30を超え …
-
-
WordPressの検索欄が未入力で全件表示してしまう件
間違えて空欄で検索した時に全件表示・・・。 バグでもエラーでもないんですがなんか …
-
-
mb_substr()使ってもサムネイルの見出しがズレるじゃん!という話
またしても忘備録。 WordPressでよくある、こういう感じの記事表示方法。 …
-
-
WordPressのカテゴリー選択を1つに制限したがチェックできない場合
カテゴリの選択制限をかけている方はおそらく、jqueryを使って行っていると思わ …
- PREV
- Gist、いいね!
- NEXT
- WordPressで記事を取得、ループしたいときに-その2