CrystalSnowman.com

あなたの時間節約につながる情報を提供します

WordPress 投稿日と更新日のちょっと気の利いた表示方法

PHP logo

ブログに記事を投稿すると投稿日が表示され、更新するとさらに更新日が表示されるようにしました。
日付があると情報の鮮度が判断でき、サイトを訪れる人にとって有益なサイトになります。有益なサイトであればリピータが増えると思います。
WordPressであればPHPで簡単にできるので方法を紹介します。

投稿日と更新日がなぜ必要か

Web検索していると日付が表示されていないページをよく見かけます。良い記事なのに情報の鮮度が分からず、ページから離脱することがあります。
せめて投稿日があれば古い情報であることを踏まえ、読むことができるのになと思います。特にインフラ・サーバ関連のページを検索した時に感じました。

更新日も重要で、そのページはメンテナンスされているのかどうかを知ることができます。投稿日が古くても更新日が新しければ、内容がアップデートされていることが分かり、情報が使えると判断できます。

こちらのサイトでも日付の重要性が書かれています。
SEOにおける日付の重要性 | ウェブシェフ

また投稿日と更新日が両方とも表示されるページもありますが、同じ日付なのに両方とも表示されているものがあります。全く問題ないのですが見た目がちょっと残念な感じがあります。時刻を表示しないのなら、投稿日と同じ日に更新した記事は更新日の表示は省略してよいと思います。

そこで投稿日と更新日が同じであれば投稿日のみ表示し、異なる場合は両方表示するようにしました。

実現方法

WordPressのテーマを編集します。
このサイトの場合single.php (単一記事の投稿)とindex.php (メインインデックスのテンプレート), page.php (固定ページテンプレート)を修正します。

投稿日の表示

WordPressで投稿日を表示するにはget_the_date()を使用します。例のようにパラメータに‘Y-m-d’を指定すると年-月-日形式で表示されます。
timeタグはHTML5から追加されたタグで、datetime属性によって検索エンジンに日付を認識させることができます。

2行目はアイコンです。
3行目は画面表示用の日付です。
4行目でtimeタグを閉じます。

htmlになるとこのようになります。
(アイコン記述はシンプルにするため省きました)
<time datetime=”2015-03-15″>2015-03-15</time>

更新日の表示

更新日の表示はget_the_modified_date()を使用します。
基本的には投稿日の表示と同じ方法です。

2行目のif文で投稿日と比較して異なる場合のみ更新日を表示するようにしました。

if ( get_the_date(‘Y-m-d’) != get_the_modified_date(‘Y-m-d’) ) :

投稿日と更新日の比較で両者とも’Y-m-d’パラメータを指定しているのは日付だけで比較したいからです。時刻まで比較すると同じ日でも時刻が異なる場合、更新日が表示されてしまいます。

if ( get_the_date() != get_the_modified_date() ) :

「get_the_date()」と「get_the_modified_date()」は日付のみを返します。時刻までは返しません。
日付だけで比較したいので「get_the_date()」と「get_the_modified_date()」を使用しています。

htmlになるとこのようになります。
<time datetime=”2015-03-16″> 更新:2015-03-16</time>

固定ページの制御

固定ページにも日付を表示します。ただ問い合わせページには表示したくないのでif文で制御しました。

3行目のif ( !is_page(35) ) :で制御しています。is_page(35)の35は問い合わせページに相当します。問い合わせページでなければ日付を表示します。パーマリンクを真面目に設定していないのでパラメータが数字になっています。

日付の表示例

投稿日は次のように表示されます。まずは更新されていないケースです。
post_date_image

記事が更新されると投稿日と更新日が表示されます。
post_update_date_image

ひとまず成功です。

参考にした本

if文の書き方などPHPの文法は次の本で習得しました。

気づけばプロ並みPHP~ショッピングカート作りにチャレンジ!
気づけばプロ並みPHP~ショッピングカート作りにチャレンジ!

この本も以前紹介したWordPressレッスンブック HTML5&CSS準拠と同様ステップバイステップで手を動かしてショッピングサイトを完成させる本です。

解説が非常に丁寧でわかりやすい本です。難しい部分は適宜図を使って解説するなどと随所で工夫がされています。著者の方はIT系の教室を開いている人で、読んでいるとこの方の授業を受けている感じがします。

初心者向けの本ですが引数のサニタイジングにも触れていて、作成するサイトは実用的です。手を動かしてプログラミングし、少しずつサイトが完成するのは楽しいです。

私はどうしても手を動かさないと覚えられないので、このような何かを完成させる系のレッスンブックが大好きです。お勧めです。

まとめ

ユーザフレンドリーなサイトになるには投稿日表示は必要だと思います。
WordPressのサイトであればPHPで簡単に実現できます。あなたもチャレンジしてはいかがでしょうか。
検索エンジンからも評価されやすくなるかもしれません。


コメント

Top