【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【WordPress/PHP】the_date関数で公開日/更新日が表示されない時の原因と対処法

本記事では、WordPressでthe_date関数で公開日/更新日が表示されない時の原因と対処法について解説しています。

WordPressの学習におすすめ書籍
1冊ですべて身につくWordPress入門講座
総合評価
( 5 )
メリット
  • サイト運営に必須のことが学べる
  • 基本的な使い方~オリジナルテーマ開発まで学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

原因

WordPressで投稿したページ(記事)の公開日/更新日を表示させたい時に使用されるthe_date関数ですが、特定の条件下では想定外の挙動を取ります。

その条件下とは、「複数ページの公開日/更新日を表示させる」「同日に複数ページを公開or更新している」が重なった時です。

何故、上記の条件に当てはまると想定外の挙動を取るのかその理由はthe_date関数は、同日に複数の記事がある場合は、最初の記事とともに一度だけ出力される。という性質を持っているからです。

対処法

では、どのようにすれば想定通りの挙動を取ってくれるか解説します。

the_date関数の性質上、複数ページに対しての出力は難しいので代わりにget_the_date関数を使用します。get_the_date関数は、the_date関数と同じくページの公開日/更新日を表示することが可能ですが異なる点があります。それは、ページの公開日/更新日を表示するのではなく取得します。そのため、取得した情報をechoで表示させる必要があります。

<p><?php echo get_the_date(); ?></p>

if~while文から記述したコードは以下のとおりです。

<?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
        <p><?php echo get_the_date(); ?></p>
    <?php endwhile; ?>
<?php endif; ?>

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次