wp_save_post_revision_on_insert()


WordPressのwp_save_post_revision_on_insert()関数は、投稿が挿入された際に自動的にリビジョンを保存するための関数です。この関数は、投稿が初めて作成されたときや更新されたときにリビジョンを生成するために使用されます。

構文

wp_save_post_revision_on_insert( int $post_id );

引数の説明:

  • $post_id(int) — リビジョンを保存する投稿のID。

例1: 投稿が挿入されたときにリビジョンを保存

この例では、投稿が挿入されたときに自動的にリビジョンが保存されます。

wp_save_post_revision_on_insert( get_the_ID() );

例2: カスタム投稿タイプでリビジョンを保存

カスタム投稿タイプの投稿が挿入されたときにリビジョンを保存します。

add_action( 'save_post_custom_post_type', function( $post_id ) { wp_save_post_revision_on_insert( $post_id ); } );

例3: 特定の投稿ステータスでのリビジョン保存

投稿ステータスが「公開」の場合にのみリビジョンを保存します。

if ( get_post_status( get_the_ID() ) === 'publish' ) { wp_save_post_revision_on_insert( get_the_ID() ); }

例4: リビジョンを保存しない条件を設定

特定の条件でリビジョンを保存しないようにします。

if ( ! some_condition() ) { wp_save_post_revision_on_insert( get_the_ID() ); }

例5: 複数の投稿タイプでリビジョンを保存

複数の投稿タイプに対してリビジョンを保存する例です。

add_action( 'save_post', function( $post_id ) { if ( in_array( get_post_type( $post_id ), array( 'post', 'page' ) ) ) { wp_save_post_revision_on_insert( $post_id ); } } );

例6: リビジョンを保存する前にフィルタリング

リビジョンを保存する前に特定のフィルタを適用します。

add_filter( 'wp_save_post_revision_on_insert', function( $post_id ) { if ( some_condition() ) { return false; } return $post_id; } );

例7: リビジョンを保存した後にアクションを実行

リビジョンが保存された後に特定のアクションを実行します。

add_action( 'wp_after_insert_post', function( $post_id ) { if ( did_action( 'wp_save_post_revision_on_insert' ) ) { // 何らかの処理 } } );

注意点

  • この関数は、投稿が挿入されたときに自動的にリビジョンを保存するため、手動でリビジョンを管理する必要はありません。
  • リビジョンが多くなるとデータベースのサイズが増える可能性があるため、定期的にリビジョンを削除することを検討してください。

関連機能: