ランダムに投稿リストを表示するプラグインを作ったよ

ランダムに投稿を返すプラグインを作成しました。

概要

ランダムに投稿を取得してリスト表示をします。対象とする期間を選択できます。
テンプレートファイル内で呼び出すことも、ウィジェットとして利用することもできます。

# このサイトでは404ページで呼び出してます。

ソースコード

ソースコードはGistにあります。

インストール方法

  1. wp-content/pluginsws-random-postのディレクトリを作成してください。
  2. プラグインファイル(ws-widget-compact-archives.phpws-widget-random-post.phpの2ファイル)を配置してください。
  3. 管理画面のプラグイン画面から[ws] random postを有効化してください。

利用方法

ウィジェット

  1. 管理画面の外観 > ウィジェットからランダムな投稿を表示したいエリアに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を設定することで、無期限で取得を行います。