記事をランダムに表示させる為のタグ。忘れそうなのでメモ。
query_posts()にorderby=rand
という引数を与えるとランダムに記事を取得できる。ただし、Ver2.5以上。

まずはquery_posts()でランダムに記事を取得する方法。
(例:カテゴリID=5に属する記事を7件をランダムに取得して表示

<?php query_posts(”cat=5&amp;amp;amp;showposts=7&amp;amp;amp;orderby=rand”); ?>
ループタグ

実にシンプル。

◆記事を1つだけ呼び出す場合

<?php
$pickup = get_posts(”category=5″);
$key = array_rand($pickup);
$post = $pickup[$key];
?>
<?php if( “” != $post): ?>
<?php setup_postdata($post); ?>
—- ループの中身 —-
<?php else: ?>
<p>記事はありません</p>
<?php endif; ?>

◆記事を複数呼び出す場合

<?php
$pickup = get_posts(”numberposts=7&amp;amp;amp;category=5″);
$key = array_rand($pickup,count($pickup));
$posts = “”;
for($i =0; $i <count($key); $i++){
$posts[$i] = $pickup[$key[$i]];
}
?>
<?php if( “” != $posts): ?>
<?php foreach($posts as $post): ?>
<?php setup_postdata($post); ?>
—- ループの中身 —-
<?php endforeach; ?>
<?php else: ?>
<p>記事はありません</p>
<?php endif; ?>