【WordPress】ブログ記事の下に関連記事一覧を入れたい
WordPress
今回はブログの下に関連記事を表示する場合の取得方法です。
投稿の場合
【実装例】要求されている使用は下記のようになります。
- 今表示している記事を除く
- 3件表示する
- 同じカテゴリーの記事を表示する
- 表示する記事はランダムな順番で表示したい
// 同じカテゴリから記事を3件呼び出す
$categories = get_the_category($post->ID);
$category_ID = array();
foreach($categories as $category):
array_push( $category_ID, $category -> cat_ID);
endforeach ;
$args = array(
// 今読んでいる記事を除く
'post__not_in' => array($post -> ID),
'posts_per_page'=> 3,
'category__in' => $category_ID,
'orderby' => 'rand',
);
$query = new WP_Query($args);
‘post__not_in’というのが除外する投稿を設定します。今回は1件だけですが、ほかに除きたいものが出てきた時のために配列で設定しています。
3件表示するための設定は、’posts_per_page’=> 3です。-1を設定すると全件取得になります。
同じカテゴリーの記事を表示するについては
‘category__in’の所に設定します。配列にすると複数カテゴリーを設定できます。
ランダムで表示する設定は’orderby’ => ‘rand’で設定できます。
並び順は’modified’だと更新日順、’ID’だと投稿ID順に表示されます。rand以外の設定値の時は、orderで昇順、降順も設定してあげてください。(デフォルトは降順です)
使用頻度高いと思いますので、ぜひ活用してください。