Googleの検索結果やSEOの観点からも語られることも多いですが、いま読んでいる記事がいつ書かれたものなのかは重要な要素ですよね。最初に書かれてから放置されている古い情報なのか、それとも最近更新された新しい情報なのかがわかるように、WordPressで投稿日と更新日を自動表示させるための方法です。
WordPressのテーマの「single.php」など、記事データの部分にこのように記述します。
<time datetime="<?php echo get_the_date() ?>">投稿日:<?php echo get_the_date(); ?></time>
<?php if ( get_the_date() != get_the_modified_date() ) : ?> //投稿日と更新日が異なる場合のみ、更新日を表示する。
<time datetime="<?php echo get_the_modified_date() ?>">更新日:<?php echo get_the_modified_date() ?></time>
<?php endif; ?>
classを追加してマークアップするとこんな感じになります。
<div class="post-meta">
<time datetime="<?php echo get_the_date() ?>"><span class="post-meta-txt"><i class="fa fa-clock-o"></i>投稿日</span><?php echo get_the_date(); ?></time>
<?php if ( get_the_date() != get_the_modified_date() ) : ?> //投稿日と更新日が異なる場合のみ、更新日を表示する。
<time datetime="<?php echo get_the_modified_date() ?>"><span class="post-meta-txt"><i class="fa fa-pencil"></i>更新日</span><?php echo get_the_modified_date() ?></time>
<?php endif; ?>
</div>
日付の形式を変える場合はこのようにします。
<?php echo get_the_date('Y-m-d') ?>
<?php echo get_the_modified_date('Y-m-d') ?>
WordPressの移行時にエクスポート/インポートで記事の更新日が変わってしまった場合は、phpMyAdminから直接データベースを編集します。wp_postsテーブルの以下の項目が投稿日と更新日です。GMTはグリニッジ標準時です。
- post_modified
- post_modified_gmt
- post_date
- post_date_gmt
あとから記事を更新した場合に追記が必要になったら「ins」タグを使うとセマンティックでいい感じです。