[WordPress] 記事表示一覧をランダムにする小ネタ

この記事が良ければ、ぜひシェアお願いします

別のサイトで記事表示をする際の一覧をランダムにしたいと考え、wp_queryの使い方に従ってコードを埋め込んでも全く期待通りの動きをしてくれませんでした。

「う~ん、これは困った」と色々と検索してみたのですが、functions.phpに書いてランダムにするコードスニペットも期待通り動いてくれず、ランダム表示するウィジェットプラグインはあるものの記事そのものをランダムにするプラグインは無いし、最後は「SQLクエリいじってやれば簡単なのに」と思って、WordPressのどこにクエリが書いてあるのかを探してしまっていました(笑)

海外サイトを見ても有益な情報を得られず困っていたのですが、日本のWordPressフォーラムにあるものがヒントになりました!

初めはこのようにループ開始前にに書き、「おぉ~ランダム順になった!」と喜んでいたら、カテゴリもタグもタクソノミーも無視してランダムで拾ってきているようでガックリw

<?php query_posts('&orderby=rand'); ?>

そこでよくよく考えると、GETリクエスト時のURL文字列を見てどこのカテゴリなどに属すか判断しているんだから、$query_stringも引数として渡してあげなきゃだめだと思い、こうやることで上手いこと期待通りに動きました。

<?php query_posts($query_string . '&orderby=rand'); ?>

シンプルなことをやろうとしてだいぶハマってしまいました。ご参考になればどうぞ!

スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク