get_post_datetime()


WordPressのget_post_datetime()関数は、投稿または固定ページの公開日時を取得するために使用されます。DateTimeImmutableオブジェクトを返します。

構文

get_post_datetime( int|WP_Post $post = null, string $field = 'date', string $timezone = 'site' );

引数の説明:

  • $post (int|WP_Post) — 投稿IDまたはWP_Postオブジェクト。デフォルトは現在の投稿。
  • $field (string) — ‘date’(公開日)または’modified’(更新日)を指定。
  • $timezone (string) — ‘site’(サイトタイムゾーン)または’gmt’(GMT)を指定。

例1: 投稿の公開日時を取得

現在の投稿の公開日時を取得します。

$post_datetime = get_post_datetime(); echo $post_datetime->format('Y-m-d H:i:s');

例2: 特定の投稿の更新日時を取得

IDが5の投稿の更新日時を取得します。

$post_datetime = get_post_datetime(5, 'modified'); echo $post_datetime->format('Y年n月j日');

例3: GMTタイムゾーンで日時を取得

現在の投稿の公開日時をGMTで取得します。

$post_datetime = get_post_datetime(null, 'date', 'gmt'); echo $post_datetime->format('c');

例4: カスタムフォーマットで表示

投稿日時をカスタムフォーマットで表示します。

echo get_post_datetime()->format('F j, Y g:i a');

例5: 投稿オブジェクトを使用

グローバル$postオブジェクトから日時を取得します。

global $post; $datetime = get_post_datetime($post); echo $datetime->format('Y-m-d');

例6: タイムスタンプに変換

投稿日時をUnixタイムスタンプに変換します。

$timestamp = get_post_datetime()->getTimestamp(); echo $timestamp;

例7: 日付比較

現在の投稿が最近のものかどうかをチェックします。

$post_date = get_post_datetime(); $now = new DateTimeImmutable(); $diff = $now->diff($post_date); echo $diff->days < 7 ? '新しい投稿' : '古い投稿';

注意点

  • DateTimeImmutableオブジェクトを返すため、PHPのDateTimeメソッドが使用可能です。
  • タイムゾーン設定に注意してください。
  • 投稿が存在しない場合やパラメータが無効な場合はfalseを返します。

関連機能: