trash-area.com ≫ blog ≫ wordpress記事ページに同じカテゴリ内の別の記事をランダムにリスト表示

2009年03月02日 2

wordpress の小ネタです。
タイトル通り、記事ページに同じカテゴリ内の別の記事をランダムにリスト表示するサンプルです。
まぁ Simple Tags の関連エントリーのカテゴリ版みたいなものですね。

サンプルは 5件をランダムです。

お手持ちのテーマの single.php あたりをカスタマイズしてみて下さい。

<?php $cat = get_the_category(); $cat = $cat[0]; ?>
 
<?php $bk_wp_query = clone $wp_query; ?>
 
<h3>同一カテゴリ内の別の記事</h3>
<?php query_posts( array('cat' => $cat->cat_ID, 'showposts' => 5,
                               'orderby' => 'rand', 'post__not_in' => array($post->ID)) ); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
 
<?php $wp_query = clone $bk_wp_query; ?>

php4 の場合は clone がいらないかと思います。

カテゴリが複数にまたがる場合は $cat = $cat[0]; をやめつつ、 query_posts の cat パラメータのとこを category__in とかにすれば ok かと思います。

なんとなくテンプレートタグで実装してみました。
おそらく二重ループになるので $wp_query を退避してあげています。

get_postsを使ったほうが簡単そうなんですけど、ソースが汚くなるんですかねぇ。
テンプレートタグがいまいちよくわかりません。

テンプレートタグ/get posts – WordPress Codex 日本語版

ソーシャルブックマーク
はてな Livedoor del.icio.us
関連してそうな記事
同じカテゴリーの別の記事
タグ
,
トラックバックURL
  1. […] 昔のポストの「記事ページに同じカテゴリ内の別の記事をランダムにリスト表示」が うまく動いてないよ。ってことなので、今うちのテンプレートをそのまま貼ってみることにしました。 […]

  2. […] 記事ページに同じカテゴリ内の別の記事をランダムにリスト表示 | trash-area…var url="http://trash-area.com/archives/292&quot;; […]

コメント
2 Comments

Comment RSS

コメントをどうぞ

*反映されるまでに時間がかかることがあります。
*メールアドレスはアバターの使用に使います。