wp_save_post_revision

説明

int | WP_Error | void wp_save_post_revision( int $post_id )
現状の投稿のリビジョンを作成する。

パラメータ

  • $post_id
    投稿IDを指定。

返り値

リビジョンが作成された場合はその投稿IDを、作成されなかった場合は空またはWP_Errorオブジェクトを返す。


注意

本関数は'post_updated'アクションのコールバック関数として登録されており、直接呼び出すことはあまりないと思われる。

[3.6.0]'wp_save_post_revision_check_for_changes'フィルターが追加された。このフィルターでfalseを返すと最新のリビジョン情報と投稿情報との更新チェックされず、現在の投稿情報のリビジョンが作成される。

[4.1.0]'wp_save_post_revision_post_has_changed'フィルターが追加された。このフィルターでfalseを返すと現在の投稿情報は更新されていないとみなされ、リビジョンは作成されない。

[6.2.0]'wp_save_post_revision_revisions_before_deletion'フィルターが追加された。削除したくないリビジョン情報を$revisionsの配列から取り除くことで、制御可能になった。


使用例

  • 現状の投稿のリビジョンを作成する。
    wp_save_post_revision( $post->ID );

フィルター

[3.6.0]最新のリビジョン情報がある場合に'wp_save_post_revision_check_for_changes'フィルターを呼び出す。パラメータ$check_for_changesにはデフォルトでtrueが、$latest_revisionには最新のリビジョン情報が、$postには投稿情報が格納されている。
if ( isset( $latest_revision ) &&
	apply_filters( 'wp_save_post_revision_check_for_changes', $check_for_changes, $latest_revision, $post ) ) {
[4.1.0]最新のリビジョン情報と投稿情報との更新チェック後に'wp_save_post_revision_post_has_changed'フィルターを呼び出す。パラメータ$post_has_changedには更新の有無が、$latest_revisionには最新のリビジョン情報が、$postには投稿情報が格納されている。
$post_has_changed = (bool) apply_filters( 'wp_save_post_revision_post_has_changed', $post_has_changed, $latest_revision, $post );
[6.2.0]リビジョン情報を削除する前に'wp_save_post_revision_revisions_before_deletion'フィルターを呼び出す。パラメータ$revisionsには削除される可能性があるリビジョン情報の配列が、$post_idには本関数が受け取った内容が格納されている。
$revisions = apply_filters(
	'wp_save_post_revision_revisions_before_deletion',
	$revisions,
	$post_id
);

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/revision.php

最終更新 : 2024年01月10日 15:24



お勧め

個人データのエクスポートメール向けに追加された新フィルター(2020年4月2日 更新)

先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。

決まった値を返すだけの関数群(2018年5月27日 更新)

WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。

サイドバーの初期化はwidgets_initアクションで(2011年7月14日 更新)

ウィジェットを使ってみたくなり新テーマ「Twenty Eleven」を覗いてみると、codexに記載されていた内容と少し違っている。これって「Twenty Ten」ですでに変更されていたんだね。

Gutenbergでカスタムフィールドを使う(2018年8月10日 更新)

Gutenbergの新エディターではカスタムフィールドのウィジェットが表示されない。既存のカスタムフィールドのデータはなくなるわけでないので、新エディター上で編集・更新できないか調べてみた。

favicon.icoがWordPressロゴになる!?(2020年2月25日 更新)

先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。