the_date() は、WordPressで投稿の日付を表示するためのテンプレートタグです。
同じ日付の複数の投稿が続く場合、一度だけその日付を表示するのが特徴です。
機能の説明
the_date() は、特定の日付形式に従い、投稿の日付を一度だけ表示するテンプレートタグです。
複数の投稿が同じ日付に公開されている場合、2つ目以降の投稿では日付が重複して表示されません。
シンプルなコード例
<?php the_date(); ?>現在のループ内の投稿の日付を表示します。同じ日付の複数の投稿があっても、最初の1つだけで日付が表示されます。
使い方の解説
関数
the_date($format, $before, $after, $display)
引数
- $format: 日付のフォーマット(例:- 'Y-m-d')。
- $before: 日付の前に付ける文字列。
- $after: 日付の後に付ける文字列。
- $display:- trueでエコー(出力)、- falseで文字列を取得。
シンプルに日付を表示する
<?php the_date(); ?>最初の投稿だけに「October 14, 2024」などの日付が表示されます。
日付にフォーマットを指定する
<?php the_date('Y年m月d日'); ?>「2024年10月14日」という形式で表示されます。
プレフィックスとサフィックスを付ける
<?php the_date('Y年m月d日', '<strong>', '</strong>'); ?>日付を <strong> タグで囲んで表示します。
日付を取得して変数に格納する
$date = the_date('', '', '', false);
if ($date) {
    echo '<h3>公開日: ' . $date . '</h3>';
}false を指定して取得した日付を変数に格納し、<h3> タグで囲んで表示します。
一緒に使うことが多い関連タグ
get_the_date()
get_the_date() は、投稿の日付を取得するためのタグです。the_date() がエコーするのに対して、get_the_date() は文字列として日付を返します。
echo '<p>公開日: ' . get_the_date('Y年m月d日') . '</p>';「公開日: 2024年10月14日」という形式で表示します。
the_time()
the_time() は、投稿の公開時間を表示するタグです。the_date() と組み合わせることで、日付と時間の両方を表示することが可能です。
echo the_date('Y年m月d日') . ' ' . the_time('H:i');「2024年10月14日 14:30」のように、日付と時間を組み合わせて表示します。
関連タグを組み合わせたコード
if (have_posts()) {
    while (have_posts()) {
        the_post();
        echo '<h2>' . get_the_title() . '</h2>';
        echo '<p>公開日: ' . get_the_date('Y年m月d日') . '</p>';
    }
}各投稿のタイトルと公開日を表示する例です。
追加情報を取得したい場合
get_the_modified_date() で投稿の更新日を取得
投稿が編集されている場合、その更新日を取得するタグです。
echo '<p>最終更新日: ' . get_the_modified_date('Y年m月d日') . '</p>';最終更新日を「2024年10月14日」という形式で表示します。
出力できる情報
- format: 日付のフォーマット(例:Y-m-d)
- modified_date: 投稿の最終更新日
想定されるトラブル
同じ日付の投稿で2つ目以降の日付が表示されない
the_date() の仕様により、同じ日付の投稿では最初の投稿だけに日付が表示されます。
解決方法
<?php echo get_the_date('Y年m月d日'); ?>get_the_date() を使って、毎回日付を表示するようにします。
日本語の日付形式が反映されない
日付フォーマットの指定が不正です。
解決方法
'Y年m月d日' のように、PHPのフォーマット文字を使います。
Q&A
まとめ
the_date() は、投稿の日付を一度だけ表示する便利なテンプレートタグです。
同じ日付の投稿が続く場合に冗長な日付表示を避けられます。
常に日付を表示したい場合は、get_the_date() を使うと良いでしょう。さらに、the_time() や get_the_modified_date() と組み合わせることで、公開日や更新日時の情報も簡単に取得・表示できます。

コメント