wordpress

記事の投稿日を取得して好きな日数だけnewアイコンを表示しておく方法


ブログを訪れた方に、新しくアップした記事・もしくは更新した記事をどのようにしてアピールするかを考えた時、「new!アイコンをつける」という結論に達する方も少なくないと思います。 そんな時、ループ内に数行コードを加えるだけで、カンタンに実装することが出来ました。
※追記あり

記述例

わたしの場合は(他サイトですが)更新日順に記事を並べているので newをつけるのも更新日を取得していましたが、 普通のブログの場合は作成日順に並んでいると思うので二種類掲載しておきます。

※追記
WordPress界の神様@jim0912さまから、時差の件で以下のリプライを頂いたのと、 自分で試してみて$days=1;だとうまく行かなかったので、ちょっと修正しました。

[blackbirdpie url=”http://twitter.com/jim0912/status/133707844091523072″]

$today=date(‘U’);だと取得されるデータに(17時間くらい?)時差が発生してしまうみたいなのでdate_i18nに変更してみました。

作成日を取得

<?php
	$days=7; //NEWをつける日数
	$today=date_i18n('U');
	$entry=get_the_time('U');
	$sa=date('U',($today - $entry))/86400;
		if( $days > $sa ){
	 	echo "\n" . '<img src="' .get_bloginfo('template_directory'). '/images/new.png' . '" />' . "\n";
		}
?>
更新日を取得

<?php
	$days=7; //NEWをつける日数
	$today=date_i18n('U');
	$entry=get_the_modified_date('U');
	$sa=date('U',($today - $entry))/86400;
		if( $days > $sa ){
	 	echo "\n" . '<img src="' .get_bloginfo('template_directory'). '/images/new.png' . '" />' . "\n";
		}
?>

$days=7;のところの数字をお好きな日数に変えて下さい:)

一日だけ表示したい場合はこっち

<?php
	$today=date_i18n('Ymd');
	$entry=get_the_time('Ymd');
	if($today == $entry){
	 	echo "\n" . '<img src="' .get_bloginfo('template_directory'). '/images/new.png' . '" />' . "\n";
		}
?>

当日だけnewアイコンを表示させたい場合ですが、 Uで取得すると失敗してしまったのでYmdで日付を取得し、 $todayと$entryが等しかったらnewアイコンを表示すると書いてみたら動きました!

プログラミング初心者なのに私すごい・・!

参考:Wordpresで最新記事にNEWマークを表示する | WordPress & Business メモ はてなブックマーク - Wordpresで最新記事にNEWマークを表示する | WordPress & Business メモ

NEWアイコン

私が作ったモノが1つしかないので、商用可能な素材サイトもご紹介します。

これはご自由にどうそ(Licence : MIT)

何の変哲もないnewアイコンです。わたしとオソロイで使いたい方は是非♥

商用可能でnewアイコンがある素材屋さん

0円のweb素材屋さん – 商用利用可のアイコン&ホームページ素材が無料 はてなブックマーク - 0円のweb素材屋さん - 商用利用可のアイコン&ホームページ素材が無料

サイドメニューの「newアイコン」から。
キラキラのnewアイコンかわいいです(人´∀`).☆.。.:*・゚

無料ウェブ素材+デザインリンク集 – styraise(スタイライズ) はてなブックマーク - 無料ウェブ素材+デザインリンク集 - styraise(スタイライズ)

ヘッダーメニューの無料ウェブ素材から文字アイコンを選択するとシンプルなNEWアイコンが。 非常に使い勝手がよさそうです:)

以上、霙でした!