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



お勧め

テキストエディタの文字を変更する(2018年5月27日 更新)

テキストエディタ(投稿ページの「テキスト」タブのエディタ)に標準では備わっていない機能を追加する自作プラグイン「html entities button」がほぼ1年ぶりにアップデート。ここではバージョン2.0.0で追加したテキストエディタのフォント切り替え機能について紹介する。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。

更新ボタンの横にスピナーを実装する(2019年5月14日 更新)

WordPressの管理画面ではAJAXを使って何らかの処理を行う際、数秒間の空き時間にアイコンがクルクル回る「スピナー」を表示しているところがある。今作っているプラグインでこの「スピナー」を使いたくなったので、実装方法を調べてみた。

公式ディレクトリに登録するならajax.googleapis.comのライブラリは利用しない(2018年5月27日 更新)

数日前、投稿一覧ページの絞り込みドロップダウンメニューを複数選択可能にするプラグイン「Posts filter multiselect」を公開したのですが、その際に指摘されたポイントを紹介します。

Login rebuilder 2.3.0の新機能を紹介(2018年5月27日 更新)

プラグイン「Login rebuilder」はログイン時の履歴(ログ)や不正なログインページへのアクセス履歴を保存している。これらの履歴情報はダッシュボートで確認できるが、バージョン2.3.0においてそれぞれがダウンロードできるようになった。