get_the_date()
は、現在の投稿またはページの公開日を取得するテンプレートタグです。
指定した形式で日付を返し、記事の公開日を表示するのに便利です。
機能の説明
get_the_date()
は、指定された投稿またはページの公開日を取得し、返します。
引数で日付のフォーマットを指定することが可能で、フォーマットをカスタマイズすることで任意の形で日付を表示できます。
シンプルなコード例
echo get_the_date();
現在の投稿の公開日をデフォルトのフォーマットで表示します(例:October 14, 2024
)。
使い方の解説
引数
get_the_date($format, $post)
$format
: 取得する日付のフォーマット(省略可能)$post
: 投稿IDまたは投稿オブジェクト(省略可能)
戻り値
指定されたフォーマットの日付(文字列)。
WordPressのフォーマット文字列の一例
F j, Y
→ October 14, 2024Y/m/d
→ 2024/10/14D, M j
→ Mon, Oct 14
デフォルトの形式で公開日を取得する
echo get_the_date();
投稿の公開日をデフォルト形式で表示します。
カスタムフォーマットで日付を表示する
echo get_the_date('Y年m月d日');
日付を「2024年10月14日」の形式で表示します。
一緒に使うことが多い関連タグ
the_date()
the_date()
は、get_the_date()
と似ていますが、自動的にエコーする関数です。日付が変わらない場合は同じ日付を繰り返し表示しないため、日付を見やすく整理できます。
the_date('F j, Y', '<p>', '</p>');
日付を<p>
タグで囲み、重複する場合は最初の一回のみ表示します。
get_the_time()
get_the_time()
は、投稿の公開時間を取得するためのタグです。get_the_date()
と組み合わせて、日時を表示する際に使います。
echo get_the_date('Y/m/d') . ' ' . get_the_time('H:i');
「2024/10/14 15:30」の形式で公開日時を表示します。
関連タグを組み合わせたコード
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<h2>' . get_the_title() . '</h2>';
echo '<p>公開日: ' . get_the_date('Y年m月d日') . '</p>';
echo '<p>公開時間: ' . get_the_time('H:i') . '</p>';
}
}
各投稿のタイトルと公開日、公開時間を表示するループです。
追加情報を取得したい場合
get_post_time()
でタイムスタンプを取得
get_post_time()
は、投稿の公開日時をUNIXタイムスタンプ形式で取得するタグです。
$timestamp = get_post_time('U');
echo 'UNIXタイムスタンプ: ' . $timestamp;
UNIXタイムスタンプを取得して表示します。
出力できる情報
- U: UNIXタイムスタンプ
- H: 時間(例: 15:30)
- Y: 年(例: 2024)
- m: 月(例: 10)
想定されるトラブル
正しい日付が表示されない
ループ外で使用しているか、投稿が正しく取得できていない可能性があります。
解決方法
have_posts()
ループの中で使用してください。- 投稿が正しく取得できているか確認してください。
日付のフォーマットが反映されない
テーマやプラグインでカスタムフィルターが使われている可能性があります。
解決方法
- フォーマットの引数が正しいか確認してください。
remove_filter()
を使用して不要なフィルターを削除します。
Q&A
まとめ
get_the_date()
は、投稿やページの公開日を取得するための基本的なテンプレートタグです。
フォーマットを自由に指定でき、公開日時の表示をカスタマイズすることができます。
get_the_time()
や the_date()
といった関連タグと組み合わせて使用することで、より柔軟な表示が可能です。
公開日が正しく表示されない場合は、ループ内で使用することや不要なフィルターの確認が重要です。
コメント