【WordPress】投稿の投稿日と更新日が同じ時は、更新日を非表示にする方法

  • 投稿記事の公開日と更新日が同じ時、更新日は非表示にしたいな!
  • PHPの条件分岐で解決できそうだけど、具体的にどのように実装すればよいのだろうか?

こんな悩みを解決できる記事を書きました。

 

この記事を書いている僕は、フリーランスエンジニアとして働いており、
これまで50件以上のホームページ制作に携わらして頂いております。

 

この記事では、PHPの条件分岐を使用して、「投稿の投稿日と更新日が同じ時は、更新日を非表示にする方法」を解説しております。

ぜひ、読んで見てください!

投稿の投稿日と更新日が同じ時は、更新日を非表示にする方法

結論のコードは以下になります。このままコピペでお使いください!

<?php if(get_the_modified_time('Y-m-d') != get_the_time('Y-m-d')): ?>
  <time datetime="<?php the_time('Y-m-d'); ?>">公開日: <?php the_time('Y.m.d'); ?></time>
  <time datetime="<?php the_modified_time('Y-m-d'); ?>">更新日: <?php the_modified_time('Y.m.d'); ?></time>
<?php else: ?>
  <time datetime="<?php the_time('Y-m-d'); ?>">公開日: <?php the_time('Y.m.d'); ?></time>
<?php endif; ?>

解説しますね。

まず、1行目にあります、「!=」 は、比較演算子の、「等しくない」という意味です。

PHPの条件分岐ですので、比較演算子の「!=」の意味が理解できれば、その後は解説は不要かと。

 

コメント付きでもう一度コードを記載しますね!

<!-- 「公開日」と「更新日」が等しくない時(同じ日付ではない時) -->
<?php if(get_the_modified_time('Y-m-d') != get_the_time('Y-m-d')): ?>
  <time datetime="<?php the_time('Y-m-d'); ?>">公開日: <?php the_time('Y.m.d'); ?></time>
  <time datetime="<?php the_modified_time('Y-m-d'); ?>">更新日: <?php the_modified_time('Y.m.d'); ?></time>
  <!-- 出力結果: 公開日: 2022.✕✕.✕✕ 更新日: 2022.✕✕.✕✕ -->


<!-- 「公開日」と「更新日」が等しい時(同じ日付の時) -->
<?php else: ?>
  <time datetime="<?php the_time('Y-m-d'); ?>">公開日: <?php the_time('Y.m.d'); ?></time>
  <!-- 出力結果: 公開日: 2022.✕✕.✕✕ -->


<?php endif; ?>

 

「公開日」と「更新日」が等しくない時(同じ日付ではない時)
公開日: 2022.✕✕.✕✕ 更新日: 2022.✕✕.✕✕

「公開日」と「更新日」が等しい時(同じ日付の時)
公開日: 2022.✕✕.✕✕

というように出力されます!

<time> タグに、CSSの「margin」が効かない場合

<time> タグは、インライン要素であるため、CSSの「margin」などが効きません。
ブロック要素みたいな名前をしていますが、インライン要素です!

<time> タグ自体に、CSSの「margin」を効かせたい場合は、<time> タグに、「display: block;」を追記してブロック要素にしてあげてください。

time {
  display: block;
  margin-bottom: 10px;

  /* display: inline-block; */
  /* インラインブロック要素でも可 */
}

 

今回は以上です!

SNSでもご購読できます。

コメントを残す

前の記事

次の記事