投稿記事に関する記事も表示させたい。その後
先日、「投稿記事に関連する記事も表示させたい【WPハック】」という記事を書きました。もうね、意気揚々と。
ところが、一応ちゃんと関連した記事は表示しているのですが、その記事にコメントが入ると関連記事に投稿されたコメントが出てしまう。
サイドバーの最近のコメント(ウィジェット)には、ちゃんと投稿された記事を吐き出してるし・・・。
コレは困った!えらそうに書いたくせに、超かっこ悪いぞ。オレ。

もうだめだ・・・
とりあえず、暫定処置としてプラグイン
WordPress Related Post for Japanese
を入れてみた。結局プラグインに頼る(オレのレベルの低いこと低いこと・・・)
ひとまずは、該当するコードを削除してみる。おおっ?ちゃんと投稿された記事にコメントが出ている(当たり前っちゃぁ、当たり前だな)。
問題のコード
<?php
// list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo '以下の記事が関連がありそうです。';
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
}
}
?>
このコードの直後にcomments_template();でコメントを呼び込ぶ仕様。
コード1行目、$tags = wp_get_post_tags($post->ID); の$post->IDに現在のポストIDを取ってきて、関連タグで5件を表示させています。
んで、問題はsingle.phpのメインループのなかに入れているから、表示された関連記事のIDとコメントを紐付けてしまったようです。
原因としては、たぶん間違いないと思ってイロイロ試しているんだけど、うまくいかない。
オイラはただ、記事と同じタグの記事を表示したかっただけなんだよう~。
この記事を見て「ああぁ、ハイハイ。これはね、ここをこうして、こうしたらこうなるよ!」っていう神が現れるのを待ちつつ、解析なう。
いんちきコードを書いて、ゴメンネごめんね~
Facebook comments:
Leave a Reply
※コメントが認証されるまで、コメントは反映されません。


One Response so far.