現在表示している記事と同じタームを持つ記事を表示
-
お世話になります。
表題の通り、single-○○○.phpで表示している現在の記事と同じタームを持つ他の記事のタイトルなどを表示したいです。
<?php $term = array_shift(get_the_terms($post->ID, '芸能人の種類')); ?> <?php $tax_posts = get_posts('post_type=芸能人&taxonomy=芸能人の種類&term='.esc_html($term->slug)); if($tax_posts): ?> <?php foreach($tax_posts as $tax_post): ?> <?php if ($post->ID != $tax_post->ID): ?> <?php endif; ?> <li><a href="<?php echo get_permalink($tax_post->ID); ?>"><?php echo esc_html($tax_post->post_title); ?></a></li> <?php endforeach; ?> <?php endif; ?>
階層はこのようになっています。
芸能人 - カスタム投稿タイプ
┗芸能人の種類 - タクソノミー
┗ジャニーズ - 親ターム
┗SMAP - 子ターム
┗中居マサヒロ - 孫ターム
┗中居マサヒロについての投稿(single-○○.phpで表示)
┗木村タクヤ - 孫ターム
┗木村タクヤについての投稿(single-○○.phpで表示)
┗草薙ツヨシ - 孫ターム
┗草薙ツヨシについての投稿(single-○○.phpで表示)実際の名称とは異なりますが、このような階層です。
上記のコードをsingle-○○○.phpに書き込むと、子ターム「SMAP」の中の中居、木村、草薙すべての投稿が表示されてしまいます。つまり、SMAPというタームを持つ投稿すべてが表示されてしまいます。これを、「中居マサヒロ」という孫タームにを持つ投稿のみ表示、「木村タクヤ」という孫タームを持つ投稿のみ表示・・・というようにしたいのです。
子ターム、孫ターム、投稿の数がかなり多いので、single-○○.phpに入ったときに自動でページの孫タームを取得し、その取得した孫タームを設定して投稿された記事のみ表示、という風にしたいのですが、上手くいかないのです。
根本的にやり方が間違っているのでしょうか?
ご教授お願いいたします。
5件の返信を表示中 - 1 - 5件目 (全5件中)
5件の返信を表示中 - 1 - 5件目 (全5件中)
- トピック「現在表示している記事と同じタームを持つ記事を表示」には新たに返信することはできません。