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



お勧め

5.3の新機能:クエリーログに任意の項目を追加できる新フィルター(2019年10月23日 更新)

5.3 RC2」が公開され、正式リリースまであと20日。公式ディレクトリにプラグインを公開していることもあり、5.3に関する開発者向けの情報「Miscellaneous Developer Focused Changes in 5.3」を読んでいる。

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

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

投稿内容に応じてwpautopを制御する(2013年8月13日 更新)

投稿内容を表示する the_content関数では、 wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。

新「WordPress Events and News」ウィジェットが興味深い(2018年5月27日 更新)

4.8のベータ版ですぐに新機能とわかるのが管理者ダッシュボードの新「WordPress Events and News」ウィジェット。ユーザーが指定した地域近隣で開催されるイベント情報を表示してくれるウィジェットで、この中のフォームがちょっと興味深かった。なおこの記事はWordPress 4.8 beta-2をもとにしており、以降のバージョンで変更される可能性があることをあらかじめ断っておく。

各種リンクを取得する関数一覧(2014年6月12日 更新)

サイト設計において、ページ間の相互リンクは重要である。WordPressでは各種ページのリンク(パーマリンク)を取得する関数を用意しており、それらを一通り把握しておくべきだろう。