ワードプレスで、トップページに並んでいる記事一覧に記載されている「投稿日」は、デフォルト設定では記事を更新したあとも「投稿日」のままです。更新したら「投稿日」ではなく「更新日」を表示するよう、PHPを書き換えます。
スポンサーリンク

なお、トップページではなく個別ページを修正する手順は、WordPress:更新日時をテーマデザインに合わせて自然に追加 で示しています。そちらでは、single.phpを修正し、「投稿日」に横並びで「更新日」を追記するようにしています。
前提条件
本ブログはLION MEDIAテーマを使っており、本テーマを例に変更手順を示します。
手順
1.対象となるPHPファイルの特定
ワードプレスの「外観」→「テーマエディター」にて、PHP編集モードに入ります。
ここで、どのPHPファイルを触ればよいか特定します。投稿日は”the_time”であらわされるので、ページ内検索で探します。LION MEDIAでは、loop.phpに記載がありました。
トップページはindex.phpやhome.php、front-page.phpのいずれかであらわされています。the_timeの記載があったら、そこを書き換えて更新してみて、目当ての部分が変わっているか確認する、などの方法で修正すべき部分を特定します。
2.対象となるPHPファイルを子テーマにコピー
ワードプレスでは、PHPを編集する場合は子テーマにコピーして作業します。子テーマにPHPファイルがあれば、そちらが優先して読み込まれる仕様になっているようです。使用しているサーバーにFTPなどでアクセスし、親テーマフォルダにある当該PHPファイルを子テーマフォルダにコピーします。
LION MEDIAでは、親テーマフォルダ /LION MEDIA中にあったloop.phpを子テーマフォルダ /LION MEDIA child にコピーしました。
3.該当部分を編集
コピーした子テーマ中のPHPの、該当部分を編集します。
LION MEDIAの場合は、以下のように編集しました。
<?php if (get_the_modified_date('Y.m.d') != get_the_time('Y.m.d')) : ?> <li class="dateList__item wp-svg-history history"><?php the_modified_date('Y.m.d') ?></li> <?php else :?> <?php if (get_option('fit_post_time') != 'value2' ) : ?> <li class="dateList__item icon-calendar"><?php the_time('Y.m.d'); ?></li> <?php endif; ?> <?php endif; ?>
4~6行目が既存の行で、そのままにしています。その前後に1~3行目、7行目を追加しました。コードの中身は以下の意味合いです。
1行目: 「更新日」が「投稿日」と異なるとき、
2行目: 「更新日」を表示
3行目: そうでないとき、
4~6行目: 「投稿日」を表示
7行目: 1行目のif終わり
4~6行目はLION MEDIA以外のテーマでも同じような記載があると思います。
以上で、所望の修正が完了しました。
スポンサーリンク