NeGiMeMo.net

ねぎさんのメモ帳。日常・メモ・ときどきWordPress。

get_posts()で複数の投稿タイプが混在した記事一覧を作る

bell賞味期限切れコンテンツ

この記事は公開または最終更新から1263日くらい経過しています。
このメッセージが表示されている記事(特にプログラミング系)は情報が古くなっている可能性があるので注意して下さい。

仕事で使うのにちょっと調べてみたのでメモ。

まだ今回の案件で必要な要件は満たしてないからもう少しなんか考えないと行けないけど,忘れないように。

get_postsは,条件を指定して,その条件にマッチする投稿を取得するための関数です。
詳しくは,こちらのサイトとかCodexとかをご覧ください。

とりあえず今回必要なのは,post_type numberposts です。

post_typeで投稿タイプを指定できます。
主に使用するのは,post (投稿),page(固定ページ),any(全て),post-type-slug(カスタム投稿タイプ)
あたりでしょうか?

カスタム投稿タイプを指定するときは単数スラッグ名を指定します。
例えば,商品管理という投稿タイプで「item」というスラッグを付けていたらこのitemを指定すればOKです。

複数指定する場合は,最初に書いたように配列にします。

numberpostsは,取得する投稿数を指定します。

省略した場合は初期値の5が指定されます。つまり5件。
10にすれば10件とれますし,-1なら全表示できます。

並び順を変更したい場合は,例には出てませんが,orderを使います。

昇順ならば

降順なら

です。よく見るヤツです。省略するとASCになります。

と,いうことで,最初のコードはテンプレートに書くと,
投稿とカスタム投稿「item」の新着記事を取得して両方あわせた状態での最新5件を取得してリストにして書き出す,という感じになります。

あとは,仕上げに投稿のカテゴリースラッグを取得して,それをdivとかspanのクラスに与えてあげて,カテゴリー毎に色分けとか作ればいい感じになる…予定なんですが,その辺はまた次回。。

TAGS