賢威7で記事の公開日と更新日の表示をカスタマイズする

編集:single.php

賢威7.1で、記事の公開日と更新日の表示方法のカスタマイズです。

賢威7 記事の日付表示

賢威7.1では、何もカスタマイズしていないデフォルトの状態では公開日が表示されます。

記事を公開して以来、更新等をしていなければ公開日だけの表示。

2018年12月11日

更新等をしていれば公開日と更新日の表示

公開日 : 2018年12月12日 / 更新日 : 2019年2月11日

といった具合です。

これでも良いのですが、予約投稿をすると更新日に記事を書き込んだ日にちが表示されます。
例えば、1月28日に記事を書いて翌日の29日に公開するように予約投稿をすると・・・

公開日 : 2019年1月29日 / 更新日 : 2019年1月28日

公開日が更新日より後という、なんともおかしな表示となってしまいます。

そこで、記事を更新していなければ公開日を、記事を更新したら更新日を表示するようにしたいと思います。

single.phpの編集

記事ページの日付表示はsingle.phpを編集します。

まずは、親テーマのsingle.phpを子テーマにコピーして、子テーマの方で編集します。

記事の公開日と更新日に表示設定のコードはsingle.phpの24行目あたり

<?php if (get_the_time('Y-m-d') != get_the_modified_date('Y-m-d')) { ?>
 <p class="post-date"><?php _e('Published on','keni') ?> : <time datetime="<?php the_time('Y-m-d'); ?>" itemprop="datePublished" content="<?php the_time('Y-m-d'); ?>" ><?php the_time(get_option('date_format')); ?></time> / <?php _e('Last modified on','keni') ?> : <time datetime="<?php the_modified_date('Y-m-d'); ?>" itemprop="dateModified" content="<?php the_modified_date('Y-m-d'); ?>"><?php echo get_the_modified_date(get_option('date_format')); ?></time></p>
<?php } else { ?>
 <p class="post-date"><time datetime="<?php the_time('Y-m-d'); ?>" itemprop="datePublished" content="<?php the_time('Y-m-d'); ?>" ><?php the_time(get_option('date_format')); ?></time></p>
 <meta itemprop="dateModified" content="<?php the_time('Y-m-d'); ?>">
<?php } ?>

記事を更新していなければ公開日を、記事を更新したら更新日を表示するようするには、この中の以下のコード部分を削除します。

<?php _e('Published on','keni') ?> : <time datetime="<?php the_time('Y-m-d'); ?>" itemprop="datePublished" content="<?php the_time('Y-m-d'); ?>" ><?php the_time(get_option('date_format')); ?></time> / 

削除して保存すると、基本的には公開日、記事を更新すると更新日が表示されるようになります。

いっそ、面倒だから公開日も更新日も表示しないようにしたいなら、以下の記事を参考にしてください。

以上、賢威7で記事の公開日と更新日の表示をカスタマイズする方法でした。