WordPress のカテゴリ別記事一覧に新着マークを表示する
WordPress のカテゴリ別記事一覧に新着マークを表示するカスタマイズです。ご質問を頂きましたので、本エントリーにて紹介致します。
このカスタマイズを行うことで、次のように、カテゴリ別記事一覧の記事タイトル右側に、新着マークを表示することができます。新着マークの表示期間は時間単位で指定できます。

カテゴリ別記事一覧に新着マークを表示するには、以下のコードを任意の位置に貼り付けてください。
<h3>「お知らせ」の最近の記事</h3>
<ul>
<?php query_posts("showposts=0&category_name=カテゴリ名"); ?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
<?php
$hour = 24;
$html = '<span style="color:#e50003">New!!</span>';
$current_date = date('U');
$entry_date = get_the_time('U');
$min = ceil(date('U',($current_date - $entry_date))/3600);
if ($min+8 < $hour) {
echo $html;
}
?>
</li><?php endwhile; ?>
</ul>
赤字の部分は適宜書き換えてください。$hourは新着マーク表示時間、$htmlは新着マークの(X)HTMLになります。
指定した時間に新着マークが消えない場合、「$min+8」の「+8」を削除するか、数字を適宜書き換えてみてください。
カテゴリ別記事一覧ではありませんが、ウィジェット用のプラグインも用意しています。
Updated Now プラグイン v2.1
先日公開した「Updated Now プラグイン」を早速バージョンアップしました。バージョンアップ内容は下記の通りです。
追記:画像をオプション画面で選択できるようにしました。
- プラグインのオプション画面を追加
- バナーにリンクを設定している場合、トップページ以外のページでリンク先が最新記事にリンクしていない不具合を修正
- プラグインのオプション画面からバナー選択(v2.1)
オプション画面については、「Tips Community:ブログが更新されたことをバナーで知らせてくれるプラグインを変更」を読んでなるほどと思い、早速追加させて頂きました。ちなみに「オプション画面を組み込むのが面倒」だったのではなく、オプション画面の存在を知りませんでした(その程度の知識)。
それはさておき、初期バージョンご利用の方は2番目の不具合がありますので、お手数ですがバージョンアップをお願い致します。
バージョンアップしたプラグインをアップロード・有効化すると下記のリンクが表示されるのでクリック。

クリックすると下記のオプション画面が表示されます(日本語化はしていません)。

各オプションの意味は次の通りです。
| オプション | 意味 | デフォルト |
|---|---|---|
| Design: | 表示バナー | sticker - blue |
| Display the banner for n hours. | 新規記事投稿後のバナー表示時間 | 24 |
| Use anchor. | バナーに新着記事のパーマリンクを付与 | チェック |
| Use pngfix.js for IE. | IEでPNG画像透過 | チェック |
| Use stylesheet. | プラグインで用意しているバナー用スタイルシートを利用(利用しない場合は個別に用意してください) | チェック |
時間に余裕があればオプション画面からバナーを選択できるようにしたいと思います。
Updated Now プラグイン for WordPress
Updated Today Plugin に便乗して作りました。
このプラグインを利用することで、新規投稿があった場合に一定期間、ページ上にバナーを表示します。
このプラグインは caramel*vanilla の lomo さんとのコラボレーションによって実現しています。
1.機能
主な機能(Updated Today Plugin との違い)は次の通りです。
- 最新の記事投稿時刻をページ表示時刻と比較し、指定された時間内であればページ上(デフォルトは左上)にバナーを表示します
- 日付が変わってもバナーを表示します
- バナー表示期間を変更できます
- バナーに該当記事へのリンクを(多分)与えることができます
- 投稿時刻と現在時刻は秒まで比較・判定する高精度
- 更新時刻やトラックバック時刻等は取得・判定しません
2.利用方法
- download のリンクをクリックしてアーカイブをダウンロードします。
2007.05.02 v1.0
2007.05.05 v2.0 オプション画面追加、バナーにリンクを設定している場合、トップページ以外のページでリンク先が最新記事にリンクしていない不具合を修正
2007.05.05 v2.1 オプション画面に画像選択機能追加
2007.05.07 v2.2 XHTML1.0 strict 対応、オプション初期画面で初期値が設定されていない不具合を修正
2007.05.11 v2.3 プラグインパス取得方法変更 - 解凍した中にある
updatednowフォルダをwp-content/plugins/にアップロードします。 - バナーは3項の説明にしたがって設定してください。
- プラグインを有効にします。
- (バナーが表示されない場合)利用中のテーマの
footer.phpに下記の行があることを確認してください。
<?php wp_footer(); ?>
同梱の pngfix.js は下記で配布されているものです(updatedtoday と同様)。
3.オプション
Updated Now プラグインはいくつかのオプションを用意しています。
プラグインを有効化すると下記のリンクが表示されるのでクリックしてください。

クリックすると下記のオプション設定画面が表示されます(日本語化はしていません)。

各オプションの意味は次の通りです。お好みに応じて変更してください。
| オプション | 意味 | デフォルト |
|---|---|---|
| Design: | 表示バナー | sticker - blue |
| Display the banner for n hours. | 新規記事投稿後のバナー表示時間 | 24 |
| Use anchor. | バナーに新着記事のパーマリンクを付与 | チェック |
| Use pngfix.js for IE. | IEでPNG画像透過 | チェック |
| Use stylesheet. | プラグインで用意しているバナー用スタイルシートを利用(利用しない場合は個別に用意してください) | チェック |
このプラグインのバナーはcaramel*vanilla の lomo さんのデザインです。素敵なバナーをいっぱい作ってくださりありがとうございました!(画像の再配布はご遠慮ください)
バナーを独自のものに変更したい場合は、バナーファイル名を updated.png にして、plugins/updatedtoday 配下にアップロードしてください。そしてオプション画面の「表示バナー」は「custom」を選択してください。
4.関連リンク
最新のエントリーに投稿日付を表示する for WordPress
WordPress の「最近のエントリー」に投稿日付を表示するカスタマイズです。ここではプラグインを利用した設定方法をご紹介します。
1.プラグインのインストール
下記のサイトより [ zip ] または [ view source (.phps) ] のいずれかをクリックして、プラグインをダウンロードします。
このサイトでは WordPress の色々なプラグインが配布されています。
zip の場合は解凍して、中にある customizable-post-listings.php を wp-content/plugins 配下にアップロード。view source の場合はそのままwp-content/plugins 配下にアップロードします。
2.「最近のエントリー」リストの設定
下記のタグをサイドバーの任意の位置に設定します。
<?php if (function_exists('c2c_get_recent_posts')) { ?>
<li><h2>Recent Posts</h2>
<ul>
<?php c2c_get_recent_posts(5,"<li>%post_URL% %post_date%</li>",'','date','DESC',0,'n/j'); ?>
</ul>
</li>
<?php } ?>
これで投稿日付(月日)が表示されます。
3.設定パラメータ
このプラグインでは他に様々な設定が可能です。以下に設定パラメータを示します。
| パラメータ | 意味 | デフォルト値 | 設定例 |
|---|---|---|---|
| $num_posts | 表示件数 | 5件 | |
| $format | 1件ごとのフォーマット | <li>%post_date%: %post_URL%</li> | |
| $categories | 対象カテゴリー | 全カテゴリー | |
| $orderby | ソート方法 | 投稿日 | 'date' |
| $order | 表示順序(昇順/降順) | 降順 | 'DESC'または'ASC' |
| $offset | オフセット | 0 | |
| $date_format | 日付のフォーマット | m/d/Y | |
| $authors | 対象とする author ID | 全 author | |
| $include_passworded_posts | パスワードのかかった投稿を含む/含まない | 含まない | true または false |
