ワードプレスですべてのカスタム投稿から任意の条件で投稿のリストを取り出す方法を解説いたします。


ワードプレスの一般的な投稿のリストの取得のPHPコード

ワードプレスの一般的な投稿のリストの取得のPHPコードは下記のようになります。

$args = array(
	'posts_per_page'   => 5, //取得数
	'offset'           => 0, //ページ数
	'category_name'    => '', //カテゴリー名
	'orderby'          => 'date', //登校日順で並べる
	'order'            => 'DESC', //大きな順で並べる
	'meta_key'         => '', //メタキーを含む
	'meta_value'       => '', //メタ値を含む
	'post_type'        => 'post', //投稿タイプ
	'post_status'      => 'publish', //公開済み
	'suppress_filters' => true 
);
$posts_array = get_posts( $args );
foreach( $posts_array as $onepost){
    echo "<p>".$onepost->post_title."</p>"; //取得した投稿リストからタイトル一覧を出力します
}

$argsにどのような投稿をいくつ取得するか指定してget_postsでそのリストを取得できます。
この時’post_type’ => ‘post’,がワードプレスの初期の投稿のみを取得するという指定になります。

複数のカスタム投稿のリストの取得のPHPコード

上記’post_type’ に下記のように、配列でカスタム投稿タイプのスラグを指定することで複数のカスタム投稿からのリストを取得することが可能です。

'post_type'      => array('page','post','book'),

上記の例では、固定ページ、投稿、bookというスラグのカスタム投稿から、投稿リストを取得します。

投稿・固定ページ・すべてのカスタム投稿から取得するPHPコード

全ての投稿タイプから検索して投稿リストを取得するにはanyという便利な取得指定方法がございます。

'post_type'      =>'any', //すべての投稿タイプから取得

WordPress ワードプレスのカスタマイズ・修正のご依頼・ご相談はワードプレスドクターまでお気軽にお送りください