wp_is_post_revision()


WordPressのwp_is_post_revision()関数は、指定された投稿IDがリビジョン(改訂版)かどうかをチェックするために使用されます。リビジョンである場合、その親投稿のIDを返します。リビジョンでない場合はfalseを返します。

構文

wp_is_post_revision( int|WP_Post $post );
  • $post(int|WP_Post)—チェックする投稿のIDまたはWP_Postオブジェクト。

例1: リビジョンかどうかをチェックする

この例では、現在の投稿がリビジョンかどうかを確認します。

if ( $revision_id = wp_is_post_revision( get_the_ID() ) ) { echo 'これはリビジョンです。親投稿ID: ' . $revision_id; } else { echo 'これはリビジョンではありません。'; }

例2: リビジョンの親投稿を取得する

この例では、リビジョンの親投稿を取得して表示します。

if ( $parent_id = wp_is_post_revision( get_the_ID() ) ) { $parent_post = get_post( $parent_id ); echo '親投稿のタイトル: ' . $parent_post->post_title; }

例3: リビジョンかどうかをチェックして処理を分ける

リビジョンかどうかで処理を分岐させる例です。

$post_id = get_the_ID(); if ( wp_is_post_revision( $post_id ) ) { // リビジョンに対する処理 } else { // 通常の投稿に対する処理 }

例4: 特定の投稿がリビジョンかどうかを確認する

指定した投稿IDがリビジョンかどうかを確認します。

$post_id = 456; if ( wp_is_post_revision( $post_id ) ) { echo 'この投稿はリビジョンです。'; } else { echo 'この投稿はリビジョンではありません。'; }

例5: リビジョンの親投稿の内容を表示する

リビジョンの親投稿の内容を表示する例です。

if ( $parent_id = wp_is_post_revision( get_the_ID() ) ) { $parent_post = get_post( $parent_id ); echo '親投稿の内容: ' . $parent_post->post_content; }

例6: リビジョンの親投稿のカスタムフィールドを取得する

リビジョンの親投稿のカスタムフィールドを取得します。

if ( $parent_id = wp_is_post_revision( get_the_ID() ) ) { $custom_field = get_post_meta( $parent_id, 'custom_key', true ); echo 'カスタムフィールドの値: ' . $custom_field; }

例7: リビジョンの親投稿のサムネイルを表示する

リビジョンの親投稿のサムネイルを表示します。

if ( $parent_id = wp_is_post_revision( get_the_ID() ) ) { echo get_the_post_thumbnail( $parent_id ); }

例8: リビジョンの親投稿のリンクを生成する

リビジョンの親投稿へのリンクを生成します。

if ( $parent_id = wp_is_post_revision( get_the_ID() ) ) { echo '<a href="' . get_permalink( $parent_id ) . '">親投稿へ</a>'; }

注意点

  • リビジョンは自動保存や編集履歴として作成されるため、データベースのサイズが増加する可能性があります。
  • リビジョンを無効にするには、wp_revisions_to_keepフィルターを使用します。

関連機能: