賢威7では、カテゴリー記事一覧の日付って、記事を更新しても「投稿日」が表示されたままになるんですよね~。
記事を更新していても、古いままの記事に見えてしまいます。
表示形式は、こんな感じ。
2018年6月7日
これを、記事ページに表示されているパターンと同様の
公開日 : 2017年11月20日 / 更新日 : 2018年6月7日
この形式で表示されるように、改造する方法を紹介します!
作業内容の概略
- 子テーマを用意する
- cont.php を子テーマにコピーする
- cont.php の既存の表示phpを削除する
- cont.php にphpを付け加える
- FTPでサーバーに転送する
作業内容は、以上です。
テーマを直接編集しても改造は出来ますが、失敗すると最悪の場合ブログが表示されなくなってしまいます。
また、テーマのアップデート時には上書きすると消えてしまい、再設定が必要になってしまいますので、面倒ですよね。
それらの危険や面倒を避けるためにも、子テーマを用意してそこで修正する方が安全で確実です。
子テーマの用意については、こちらの記事を参考にして下さい。
既存の日付表示部分を削除する
改造するファイルは、cont.phpですので、まずは元のテーマから、子テーマのフォルダーにコピーします。
既存の日付表示phpを、テキストエディターで削除します。
削除する部分は、19行目の次の部分、1行です。
<p class="post-date"><time datetime="<?php the_time('Y-m-d'); ?>"><?php the_time(get_option('date_format')); ?></time></p>
日付のPHPを付け加える
先ほど削除した19行目部分に、次のPHPコードを付け加えます。
<?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 } ?>
このコードは、投稿ページ用の single.php に書かれているコードをそっくりコピーしたものです。
差し替えが終わったら、FTPで子テーマ用のフォルダーに転送すれば、完了!!
カテゴリー一覧ページの日付け、変わりましたか??
もしエラーになったら、子テーマに転送したcont.phpを削除すれば、元に戻ります。
コードのコピーをどこか間違えていないか、確認してみて下さい。
更新した記事は、更新日だけの表示にしたい!
投稿日と更新日、両方はいらないっ!!
はい、可能です!
先程付け加えたコードの一部を削除します。
<?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 } ?>
赤字の部分を削除するだけです。
更新していない時は、投稿日が次の様に表示され、
2017年11月20日
記事を更新していると、次の様に表示されるようになります。
更新日 : 2018年6月7日
[関連記事]WordPressの賢威7.1で、記事の日付を公開日または更新日の何れかのみ表示する方法