WordPressで記事を取得するためのテンプレートタグ「get_posts」について見ていきましょう。

 

「get posts」では、引数として渡すパラメータに基づいて投稿データの配列を作成することができるため、ランダム記事の一覧やカテゴリー関連記事一覧といったものを表示する際に活用できます。

 

「get posts」テンプレートタグの基本的な使い方

PHP

 

パラメータについて

「get posts」のパラメータは以下の通りです。
必要なもののみ引数として渡して使います。

 

パラメータ 説明
posts_per_page 取得件数を整数値で指定。−1はすべての記事を取得。
offset 取得開始位置
category 属するカテゴリーIDを指定。(複数指定時は,で区切る)
category_name 属するカテゴリー名を指定。(複数指定時は,で区切る)
orderby ソート対象。author、date、category、title、modified、ID、menu_order、randなど
order ソート順。昇順(ASC)と降順(DESC)
include 取得したい投稿情報ID(複数指定時は,で区切る)
exclude 取得したくない投稿情報ID(複数指定時は,で区切る)
meta_key カスタムフィールドの名前
meta_value カスタムフィールドの値
post_type 'post'、'page'、'attachment'、'any'などの投稿情報タイプ
post_mime_type mime types の一覧
post_parent 親の投稿ID
author 投稿者ID
post_status 投稿ステータスを示す'auto-draft'、'draft'、'inherit'、'private'、'publish'、'any'など
suppress_filters 最終的な検索条件に対してフィルター処理を行わない場合はtrue、フィルター処理を行う場合はfalseを指定

 

返り値について

「get posts」の返り値はWP_Postオブジェクトのリストです。
取得できる情報は以下の通りです。

 

記述方法

 

変数 変数の説明 補足
ID 投稿のID
post_author 投稿者のユーザー ID ループ内は「the_author()」で取得
post_name スラッグ名
post_type 投稿タイプ
post_title 投稿のタイトル ループ内は「the_title()」で取得
post_date フォーマット: 0000-00-00 00:00:00 ループ内は「the_time('Y.m.j')」で取得
post_date_gmt フォーマット: 0000-00-00 00:00:00 ループ内は「the_time('Y.m.j')」で取得
post_content 本文 ループ内は「the_content()」で取得
post_excerpt 抜粋テキスト ループ内は「the_excerpt()」で取得
post_status 投稿ステータス
post_password 投稿パスワード(ない場合は空欄)
post_parent 親投稿のID

 

 

おすすめの記事