KatsuhiroBlog

妻が大好きなシステムエンジニア。IT、ブログ、投資を中心に発信します。

ブログ

【WordPress】予約投稿で更新日に投稿日より過去の日付が表示される場合の対処方法

投稿日:

  • WordPressの予約投稿で記事を投稿したら、投稿日のとなりの更新日が過去日付になっていた。カッコ悪い。
  • 過去日付になっている更新日を非表示にする方法はないかな?

こういった質問にお答えします。

WordPressでブログを運営している人の中には、毎日決まった時間に投稿したい、記事を2本書けたから明日分を予約投稿しよう、などの理由で、予約投稿を活用している人は多いのではないでしょうか?

このKatsuhiroBlogはWordPressで運用していて、記事の投稿は予約投稿を使って行っています。

しかし、最近ある欠点に気づきました。

それは、更新日に投稿日より過去の日付が表示されてしまうことです。

このような感じです。ちょっとカッコ悪いですよね。

記事が投稿されたあとに、記事の更新操作を行えば、更新日が更新されますが、いちいちやるもの手間ですよね。

そこで、今回はWordPressのソースコードを修正して、更新日が投稿日より過去の日付の場合は、更新日を非表示にするようにします。

以下の順番で進めます。

  1. そもそもなぜ更新日が投稿日より過去の日付になってしまうのか
  2. 更新日が投稿日より過去の日付の場合更新日を非表示とする方法
スポンサードサーチ

そもそもなぜ更新日が投稿日より過去の日付になってしまうのか

そもそもなぜ更新日が投稿日より過去の日付になってしまうのでしょうか?理由は、更新日と投稿日の違いにあります。

  • 「更新日」は記事を最後に更新した日付
  • 「投稿日」は記事を投稿した日付

になります。

WordPressで予約投稿をすると、例えば、以下のような感じになります。

2019/03/31予約投稿を「2019/04/01」に設定して投稿 → 更新日=「2019/03/31」
2019/04/01自動的に投稿がされる → 投稿日=「2019/04/01」、更新日はそのまま

つまり、「2019/04/01」に自動で投稿がされても、最後に更新した日付は「2019/03/31」なので、更新日が過去の日付となってしまうのです。

更新日が投稿日より過去の日付の場合更新日を非表示とする方法

さっそく、WordPressのソースコードを修正してみましょう。以下の順番で進めます。

  1. single.phpの修正
  2. 修正後の表示確認

single.phpの修正

「single.php」の修正です。「single.php」は記事の画面のソースコードです。

WordPressのダッシュボードから「テーマエディタ」→「個別投稿」を選択しましょう。

修正前のソースコードはこんな感じです。

<p><span class="kdate">
	<?php if ( get_the_date() != get_the_modified_date() ) : //更新がある場合 ?>
		投稿日:<?php echo esc_html( get_the_date() ); ?>
		更新日:<time class="updated" datetime="<?php echo esc_attr( get_the_modified_date( DATE_ISO8601 ) ); ?>"><?php echo esc_html( get_the_modified_date() ); ?></time>
	<?php else: //更新がない場合 ?>
		投稿日:<time class="updated" datetime="<?php echo esc_attr( get_the_date( DATE_ISO8601 ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time>
	<?php endif; ?>
</span></p>

修正後のソースコードはこんな感じです。

<div class="blogbox">
	<p><span class="kdate">
		<?php if ( get_the_date() != get_the_modified_date() and get_the_date() < get_the_modified_date() ) : //更新がある場合 かつ 更新日 > 投稿日 ?>
			投稿日:<?php echo esc_html( get_the_date() ); ?>
			更新日:<time class="updated" datetime="<?php echo esc_attr( get_the_modified_date( DATE_ISO8601 ) ); ?>"><?php echo esc_html( get_the_modified_date() ); ?></time>
		<?php else: //更新がない場合 または 更新日 < 投稿日 ?>
			投稿日:<time class="updated" datetime="<?php echo esc_attr( get_the_date( DATE_ISO8601 ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time>
		<?php endif; ?>
	</span></p>
</div>
  • 更新がある場合 かつ 更新日 > 投稿日 は、投稿日と更新日を両方表示
  • 更新がない場合 または 更新日 < 投稿日 は、投稿日のみ表示

という風に修正しました。

修正後のソースコードを貼り付けて、「ファイルを更新」を押してください。

これで修正完了です。

修正後の表示確認

修正完了ができたら、表示確認を行いましょう。

修正前はこんな感じでした。

修正後は・・・

ちゃんと更新日が非表示になっていますね。

投稿日よりあとに記事を更新した場合も確認しておきましょう。

投稿日が「2019年4月1日」なので、「2019年4月4日」に記事の更新ボタンを押しました。結果は・・・

想定通り、投稿日より新しい更新日が表示されていますね。

最後に

予約投稿で更新日に投稿日より過去の日付が表示される場合の対処方法についてお話しました。

この記事で記載したソースコードをコピペすれば、すぐに解決できるので困っている人は試してみてください。

以上です。

-ブログ

執筆者:

関連記事

【5分で出来る】WordPressのサイドバープロフィール作成方法【css無料公開】

ブログのサイドバーにプロフィールを作りたいブロガー「WordPressでブログをやっている。有名ブロガーはみんな右側のサイドバーにプロフィールを作成している。同じ風にやってみたいが、やり方がわからない …

【AWS】独自ドメインブログの始め方【WordPress】

AWSで独自ドメインのWordPressブログを始めたい。けど始め方がわからない。 こういった疑問にお答えします。 このサイト自体もAWSで運営しています。初期費用は1000円くらいです。 スポンサー …

ブログを毎日更新してる人ってどんな人?【毎日更新100日以上達成】

毎日更新しているブロガーが知りたい人「ブログを毎日更新している人ってどんな人なのかな?自分もブログをやっているから参考にしたい」 こういった疑問にお答えします! こんにちは。かつひろ(@Katsuhi …

Kindle Unlimitedのアフィリエイトの始め方【画像付きで丁寧に解説】

Kindle Unlimitedのアフィリエイトをやりたい人「Kindle Unlimitedのアフィリエイトを始めてみたい。でもやり方がわからない。実際にKindle Unlimitedのアフィリエ …

【初心者必見】TOPへ戻るのデザインを変更する方法【コピペでOK】

TOPへ戻るボタンのデザインを変えたい人「自分のサイトを運営しているが、TOPへ戻るボタンのデザインがダサい。デザインを変更する方法を教えてほしい」 この疑問にお答えします! このKatsuhiroB …