BLOG
WordPressで特定の投稿記事をID指定順に複数出力する
WordPressで作業していてたま〜に思うのは、新しい順や古い順、またカテゴリー別に投稿を表示したりはしますが、特定の記事だけを指定した順に出力できないのかな…。
調べてみますと…できます!実際に当サイトのトップページの「制作実績」のところは、その方法でやってます。で、当サイトのトップページで、実際に記述しているコードはこちら!
WP_Qyery()で投稿IDを指定して記事を取得
// 条件の設定
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'paged' => $paged,
'post__in' => array(120, 110, 130, 100),
'orderby'=>'post__in',
); ?>
// クエリの定義
<?php $wp_query = new WP_Query( $args ); ?>
// ループ
<?php
if (have_posts()) :
while (have_posts()) :
the_post();
get_template_part('content');
endwhile;
?>
// 投稿データのリセット
<?php wp_reset_postdata(); ?>
WP_Queryで投稿IDを指定して記事情報を取得します。もちろん複数のIDが指定できます。
'post__in' => array(120, 110, 130, 100),
上記の部分で順にIDを指定できるというわけですが、本来post__inは、「100→110→120→130」と順に取得してしまうんです。
orderbyで指定した順に記事を取得する
本来なら…
'orderby'=> 'post_date'
…などで昇順に記事を並べたりするわけですが、ここでは…
'orderby'=>'post__in',
…を指定すれば、指定した順番で複数の記事を取得できるというわけです。トップページなどで指定した記事だけ出力できれば、もっとできることの幅が広がりますね。WordPressでクオリティーの高いホームページ制作をご希望の方は、お気軽に当スタジオにご相談ください。