概要
wp_is_post_revision
関数は、指定された投稿がリビジョン(過去の変更内容の保存)であるかどうかを調べるための関数です。この関数は主に以下のような機能実装でよく使われます。
- 投稿のリビジョン管理
- 編集履歴の表示機能
- リビジョンの自動保存機能
- カスタムプラグインの作成
- 投稿のオートセーブ機能
- 投稿のコンテンツ保存の監視
- 管理画面での投稿比較機能
- 特定の条件に基づくリビジョンの削除機能
構文
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 ) ) {
// リビジョンが保存された場合の処理
}
}
説明: 投稿が保存された際、リビジョンかどうかを確認するアクションフックのサンプルコード。