このブログは今後は更新されません。FE.labsにてWordPress向けの記事も更新してゆきますのでよろしくお願いします。
今後このドメインは、ファーストエレメントのWordPress関連業務のブランドサイトとして近くリニューアルする予定です(2012/8/24)。
カテゴリ&タグ&カスタムフィールド&年月&キーワードで絞り込み検索ができるプラグイン『FE Advanced Search』

記事をランダムに呼び出す。

実はquery_posts()にorderby=randという引数を与えるとランダムに記事を取得できることを忘れて(いや、知らずに;)、無駄なことをしてしまいました。ver2.5からはrandという値が使えるようになったんですね。

そのまま消すのももったいないので、いつかの何かのヒントのためにメモ。

まずはquery_posts()でランダムに記事を取得する方法。
(条件:カテゴリID=3に属する記事を5件、ランダムに取得)

<?php query_posts(“cat=3&showposts=5&orderby=rand”); ?>
—- 通常のループ —-

シンプルですねぇ。

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

<?php
$pickup = get_posts(“category=3″);
$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=5&category=3″);
$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; ?>

 

フォーラムにも参考になりそうな記事があります。
http://ja.forums.wordpress.org/topic/111?replies=12

 
プラグインもあります(今回はその後ちょっと複雑な処理が絡んだので使うのはパスしましたが)
Customizable Post Listings
http://coffee2code.com/wp-plugins/customizable-post-listings/
昔からあるプラグインで、しばらく放置されていましたが、4月にいっきにアップデートされました。
c2c_get_randam_posts() という関数が用意されています。
※ver2.5まで、となってますが使えるんじゃないでしょうか。

このエントリーをはてなブックマークに追加

1件のコメントがありますコメントのRSSフィード

  1. [...] WordPress 記事をランダムに呼び出す。【WordPressカスタマイズメモ】 January 19, 2011 | masa | No Comments » [...]

コメント/質問お待ちしています

トラックバックURL:
http://wpcms.jp/297/trackback/

CATEGORY

ARCHIVE

2017年9月
« 12月    
 12
3456789
10111213141516
17181920212223
24252627282930