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()
と組み合わせることで、公開日や更新日時の情報も簡単に取得・表示できます。
コメント