概要
get_post_timestamp
関数は、特定の投稿の投稿時間または更新時間のタイムスタンプを取得するための関数です。この関数は、WordPressのテーマやプラグイン開発において、以下のような機能を実装する場合にしばしば利用されます。
- 投稿の表示日をカスタマイズする
- RSSフィードの日付を調整する
- 投稿のタイムスタンプに基づいたカスタムクエリを作成する
- 投稿の新旧を比較する処理
- 過去の投稿を整理または分類する
- 時間に基づいたカスタム機能を作成する
- 特定の条件に基づいた投稿の表示を制御する
- デバッグやログに投稿時刻を記録する
構文
get_post_timestamp( $post ID );
パラメータ
$post ID
(int | null):取得したい投稿のID。省略すると現在の投稿が使用されます。
戻り値
- 整数型のタイムスタンプ(UNIX時間)。投稿が見つからない場合は、
false
を返します。
関連する関数
使用可能なバージョン
- WordPress バージョン 1.5 から利用可能
コアファイルのパス
/wp-includes/post.php
サンプルコード
サンプルコード 1: 投稿のタイムスタンプを取得する
$post_id = 1; // 投稿IDを指定
$timestamp = get_post_timestamp( $post_id );
echo '投稿のタイムスタンプ: ' . $timestamp;
このサンプルコードは、指定した投稿IDのタイムスタンプを取得し、画面に表示します。
サンプルコード 2: 現在の投稿のタイムスタンプを表示する
$timestamp = get_post_timestamp();
echo '現在の投稿のタイムスタンプ: ' . $timestamp;
このコードは、現在の投稿のタイムスタンプを取得し、その値を画面に表示します。
サンプルコード 3: 範囲内の投稿を表示するためのカスタムクエリ
$timestamp = get_post_timestamp( $post_id );
if ( $timestamp > strtotime( 'last week' ) ) {
echo 'この投稿は最近更新されました。';
}
このコードでは、指定した投稿が過去1週間以内に更新されたかどうかを判断し、メッセージを表示します。
サンプルコード 4: RSSフィードに投稿日を追加する
$post_id = get_the_ID();
$timestamp = get_post_timestamp( $post_id );
echo '<pubDate>' . date( 'D, d M Y H:i:s O', $timestamp ) . '</pubDate>';
このサンプルは、投稿のタイムスタンプを使用して、RSSフィード内に投稿日をフォーマットして追加します。
サンプルコード 5: 投稿リストを日付順にソートする
$query = new WP_Query( array(
'posts_per_page' => 10,
'orderby' => 'date',
'order' => 'DESC'
) );
while ( $query->have_posts() ) {
$query->the_post();
echo get_the_title() . ' - ' . get_post_timestamp( get_the_ID() ) . '<br>';
}
このコードスニペットは、最近の10件の投稿を取得し、それぞれのタイムスタンプとタイトルを表示します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
この関数は上記のアクション内では使用されていないことが確認されています。