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



お勧め

ショートコードを使ってテーマ内の画像URLを簡単に指定する(2018年5月27日 更新)

投稿記事の中で画像パーツを使いたいときがある。画像パーツの配置場所は、/imgディレクトリのようなテーマ外の場合と、/wp-content/themes/mytheme/imagesディレクトリのようなテーマ内の場合があり、今回は後者のケース。ショートコードを使って投稿記事の画像ファイルのURLを記述する方法を紹介したい。

リクエスト応答を終了する前に何かを処理する(2013年9月26日 更新)

PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。

投稿情報を連想配列で参照する(2018年5月27日 更新)

投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。

段落ブロックに日付・時刻の入力支援を実装した(2023年1月25日 更新)

ブロックエディターには文字入力を支援するAutocompleteがある。自作ブロックだけでなく既存のブロックに適用できるため、ブロックの利用シーンを踏まえた入力支援機能を追加できる。

ブロックエディターのタグ入力にタグクラウド機能を追加した(2019年1月10日 更新)

ブロックエディターのタグ入力には「よく使われているタグから選択」から表示される「タグクラウド」がない。ブロックエディターの不満なところのひとつがこれであり、うまく解消することができないか考えてみた。