記事ページでカテゴリーの記事をランダムに一覧表示@WordPress

By | 2010/1/29 金曜日

テンプレートを新しくして自分で作ったプラグイン(Random Post List)を利用したのですが上手く動かない。
記事はリストアップされるのですがカテゴリが上手く絞りきれていない。
どうやらWordPressのバージョンをアップした何処かの時点で上手くいかなくなったみたい。

とりあえずプラグインを修正する前に同じ機能のプラグインがでてないか、調べてみる。
う~ん、以前調べたときとあまり変わらず似た記事やカテゴリの一覧を表示してくれるものは見つかるがランダムに一覧表示のやつはちょっと見つけれない。

んじゃ、以前知り合いがテンプレートタグを利用して実装してたのでそれも使ってみるが不具合で上手く利用できない。
ネットで調べてみても単一記事(single.php)へのカテゴリ一覧は見つけることができたのですがランダム表示ではない。

WordPress › フォーラム » single.phpに同一カテゴリー記事一覧をナビゲーションとして表示したい。

上記の記事を眺めてるとちょっといじればできそうなので試行錯誤して望みどおりの結果となりました。

単一記事(single.php)に下記のテンプレートタグを記述すればできます。

<!-- recommend -->
<div class="recommend">
<h3>同じカテゴリーの記事</h3>
<ul>
<?php
$cat_list = array();
foreach((get_the_category()) as $cat) {
$cat_list[] = $cat->cat_ID ;
}

$query=array();
$query[] = sprintf('cat=%s', implode(',', $cat_list));
$query[] = sprintf('showposts=%d', 10);
$query[] = sprintf('orderby=%s', 'rand');

query_posts(implode('&', $query));
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title()?></a></li>
<?php endwhile; endif; ?>
<?php wp_reset_query() ?>
</ul>
</div>
<!-- /recommend -->

※親子のカテゴリーはテストしてないのでどうなるかよくわかりません。
※当ブログはキャッシュ機能を利用しているので表示が固定されますが通常は表示毎にリストが更新されます。

Random Post Listは要望があれば修正します。なければ放置で。

One thought on “記事ページでカテゴリーの記事をランダムに一覧表示@WordPress

  1. Pingback: 同じカテゴリーの記事の一覧をランダムに表示する方法 - WordPress情報

コメントを残す

メールアドレスが公開されることはありません。