南国スキーぶろぐ・Z

岩手県盛岡市のネタを中心としたお出掛け雑記ブログ

投稿とカスタム投稿を同じループ内にまとめて表示させ、カテゴリ名とターム名を同時に表示させる方法

にほんブログ村 地域生活(街) 東北ブログ 盛岡情報へにほんブログ村 地域生活(街) 東北ブログ 岩手県情報へ

wordpress ,

同じループ内に、通常の投稿一覧とカスタム投稿投稿一覧を同時に(一緒に)表示させたい時ってあるよね。異なる投稿タイプを同一のループ内に一緒に表示させるのは簡単だけど、俺が困っていたのは、投稿のカテゴリ名とカスタム投稿のターム名を同じループ内で表示させる方法だったんです。

投稿カテゴリは、カテゴリ出力関係のテンプレートタグで出力するけど、ターム名はパラメータでタクソノミー 名を指定した上でのターム名出力なので、どちらかを指定するとどちらかが出力されない感じになってたの。

今までなーなーにしてたけど、一緒に出力させる事が出来ればやっぱり便利だなと思ったので、気合い入れて調べてみました。
結果、狙い通りの出力結果を得られたので備忘録として紹介。
と言うか、WordPress Codexに書いてあったんだけどね(笑)。

その前に、通常の投稿(post)と、カスタム投稿(lessonとclass)を同一のループ内でまとめて表示させるループ記述から。

get_postsで投稿とカスタム投稿を同時に表示

WP_Queryで投稿とカスタム投稿を同時に表示

get_postsだとページネーションが出来ないので、アーカイブやカテゴリページでページングしたい時はWP_Queryを使用。

functions.phpに記述

こちらの記述、WordPress Codexに書いてあった物そのまんまです。

カテゴリ名、ターム名を出力したい場所に記述

以上です。
最後の出力記述はPタグとかで囲ってあげないと裸で出力されます。
これらの記述により、新着情報などの一覧に通常の投稿とカスタム投稿をまとめて表示出来るようになり、カテゴリ名とターム名も同じループ内で表示出来るようになりました。