記事下に同じタグの記事一覧を表示させる方法です。
関連記事の表示として有効。
1、同じタグを含む記事一覧の表示方法
<?php
//記事にタグがある場合
if(has_tag() == true) {
//タグ情報を取得
$kijitagu = get_the_tags();
//ループで全部取得
foreach($kijitagu as $kijitagu2){
$tagumei[] = $kijitagu2->name;
$taguid[] = $kijitagu2->term_id ;
}
//表示用に配列を文字列に変換
$tagumeirenketu = implode( $tagumei, ',' );
?>
<div><?php echo $tagumeirenketu ?>の関連記事</div>
<?php
$args = array(
'posts_per_page' => -1,
'tag__in' => $taguid,
'post__not_in' => array($post->ID),
);
$the_query = new WP_Query($args);
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
//ここに記事表示のループ処理
endwhile;
endif;
wp_reset_postdata();
}
?>
基本としては「get_the_tags()」でのタグ情報取得です。
これで配列として取得し、WP_Queryの条件にしているだけ。
次に同じカテゴリの記事一覧を表示する場合、
このタグを除外した条件にすると良い。
//一例
if(has_tag()==true) {
$args = array(
'posts_per_page' => -1,
'cat' => $cat_id,
'tag__not_in' => $taguid,
'post__not_in' => array($post->ID),
);
}else{
$args = array(
'posts_per_page' => -1,
'cat' => $cat_id,
'post__not_in' => array($post->ID),
);
}