Mill's Note

【Wordpress Tips】投稿日と更新日を切り替えて表示する

/

最近はWordpressやGoogleの更新も頻繁だし、古いコードだと動かない事もあるし、、
サイトを見る時はまず日付を見てしまいますよね。

でも、Wordpressの規定では表示は投稿日だけ。せっかく更新しても更新日は表示されません。

Google様のガイドラインでは、datePublished必須、dateModified推奨 になっていますので、新規投稿は「投稿日」だけ、更新したら「更新日」も表示するコードを載せる事にしました。

ついつい掲載を忘れがちなのでここで ( ..)φメモメモ

投稿日と更新日の切り替えコード

PHP
<?php /* functions.php に直接書き込む場合はこの行を削除 */
function my_date(){
  $mtime = get_the_modified_time('Ymd'); 
  $ptime = get_the_time('Ymd');

  $p_dtime = get_the_time('c');
  $p_time = get_the_time('Y-m-d'); 
  $date_p = '<time datetime="' . $p_dtime . '" itemprop="datePublished">[公開] ' . $p_time . '</time>';
  
  $date_m = '';
  if($mtime > $ptime){
    $m_dtime = get_the_modified_time('c');
    $m_time = get_the_modified_time('Y-m-d');
    $date_m = '<time datetime="' . $m_dtime . '" itemprop="dateModified">[更新] ' . $m_time . '</time>';
  }
  $date_m = $date_m ? ' / ' . $date_m : '';
  return '<div class="my_date">' . $date_p . $date_m . '</div>';
}
一応、当サイトの css です
CSS code
.my_date {
  margin-bottom: 1em;
  text-align: right;
  color: #666;
}
.my_date time  {
  display: inline-block;
}

コードの説明と使い方

更新日と公開日を比較して表示を変えているだけの簡単設計 ^^;

  • Google様に伝わりやすい 日付フォーマットと datePublished / dateModified を入れています。
  • [公開] [更新] が同じ日付になるのは変なので、日付だけで比較するようにしています。
  • [更新]、[公開] のテキストやcssはお好みで書き換えて下さい。

使い方

  1. 上記コードをfunctions.phpに記載するか、別ファイルにしてfunctions.phpで読み込ませます。
    別ファイルにする場合は、最初の <?php をお忘れなく^^
  2. 投稿や固定ページの掲載したい場所に以下のコードを貼り付けます。
<?php echo my_date(); ?>