ランダムに投稿を返すプラグインを作成しました。
概要
ランダムに投稿を取得してリスト表示をします。対象とする期間を選択できます。
テンプレートファイル内で呼び出すことも、ウィジェットとして利用することもできます。
# このサイトでは404ページで呼び出してます。
ソースコード
ソースコードはGistにあります。
インストール方法
wp-content/plugins
にws-random-post
のディレクトリを作成してください。- プラグインファイル(
ws-widget-compact-archives.php
とws-widget-random-post.php
の2ファイル)を配置してください。 - 管理画面のプラグイン画面から
[ws] random post
を有効化してください。
利用方法
ウィジェット
- 管理画面の外観 > ウィジェットから
ランダムな投稿
を表示したいエリアにD&Dしてください。
必要に応じてオプションを設定してください。
テンプレート呼び出し
呼び出したい場所に下記のメソッドを記述してください。
PHP
<?php ws_the_random_post(); ?>
オプション
引数として以下を渡すことも可能です。
PHP
$args = array(
'number' => 5, // 表示する投稿数
'offset' => 0, // 投稿を取得しない期間(日数)
'range' => 365, // 投稿を取得する期間(日数)
'show_date' => false, // 投稿日を表示しますか ?
);
取得対象期間の設定について
投稿を取得しない期間、投稿を取得する期間それぞれの設定については以下のイメージです。

下記の設定をした場合を示しています。
- 現在日時:2014/01/13
- 投稿を取得しない期間:30日
- 投稿を取得する期間:365日
この場合、2014/01/13~2013/12/14の30日間分の投稿は取得されません。
投稿を取得しない期間が終わってから2013/12/14~2012/12/14の365日の間からランダムに投稿を取得します。
# 厳密には時分秒で判定をしています。
投稿を取得する期間に0
を設定することで、無期限で取得を行います。
[AD]