ワードプレスのwp_is_post_revision関数の使用方法・解説

概要

wp_is_post_revision関数は、指定された投稿がリビジョン(過去の変更内容の保存)であるかどうかを調べるための関数です。この関数は主に以下のような機能実装でよく使われます。

  1. 投稿のリビジョン管理
  2. 編集履歴の表示機能
  3. リビジョンの自動保存機能
  4. カスタムプラグインの作成
  5. 投稿のオートセーブ機能
  6. 投稿のコンテンツ保存の監視
  7. 管理画面での投稿比較機能
  8. 特定の条件に基づくリビジョンの削除機能

構文

bool wp_is_post_revision( int $post_id );

パラメータ

  • post_id (int): 調べたい投稿のID。

戻り値

  • (bool): 指定された投稿がリビジョンであればtrue、そうでなければfalseを返す。

関連する関数

使用可能なバージョン

  • WordPress 3.6以降で使用可能。

コアファイルのパス

  • wp-includes/post.php

この関数のアクションでの使用可能性

アクション 使用例
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

サンプルコード

サンプルコード1: リビジョンチェック

if ( wp_is_post_revision( $post_id ) ) {
    // この投稿はリビジョンです。
}

説明: 指定した投稿がリビジョンかどうかを確認し、リビジョンであれば処理を行うサンプルコード。

サンプルコード2: 投稿リビジョンの削除

$post = get_post( $post_id );
if ( wp_is_post_revision( $post->ID ) ) {
    wp_delete_post( $post->ID );
}

説明: 投稿がリビジョンである場合、そのリビジョンを削除するサンプルコード。

サンプルコード3: リビジョンの取得

$revisions = wp_get_post_revisions( $post_id );
foreach ( $revisions as $revision ) {
    if ( wp_is_post_revision( $revision->ID ) ) {
        // 各リビジョンに対する処理
    }
}

説明: すべてのリビジョンを取得し、リビジョン判定を行うサンプルコード。

サンプルコード4: リビジョンの表示

$revision_id = 123; // リビジョンのID
if ( wp_is_post_revision( $revision_id ) ) {
    echo "この投稿はリビジョンです。";
} else {
    echo "この投稿はリビジョンではありません。";
}

説明: 指定したIDがリビジョンか確認し、その結果を表示するサンプルコード。

サンプルコード5: リビジョンの保存

add_action( 'save_post', 'my_save_post' );

function my_save_post( $post_id ) {
    if ( wp_is_post_revision( $post_id ) ) {
        // リビジョンが保存された場合の処理
    }
}

説明: 投稿が保存された際、リビジョンかどうかを確認するアクションフックのサンプルコード。

この関数について質問する


上の計算式の答えを入力してください