wp-config.php
では、WordPressが 投稿リビジョンをどう扱うかを変更することができます 。具体的には、それらを無効にしたり、リビジョンの最大数を指定することができます。
投稿タイプごとに最大数またはリビジョンを設定できるようにしたいです。
これは可能ですか?
'wp_save_post_revision'
からアクション'pre_post_update'
を削除します。デフォルトごとにwp-includes/default-filters.php
にデフォルトの優先度(10)で設定されます。
このフックにあなた自身の関数を追加してください。パラメータとして$post_ID
を取得するので、 投稿タイプの検出 は簡単です。
コールバックで、wp_save_post_revision()
からコードをコピーしますが、投稿タイプpost
にのみ定数WP_POST_REVISIONS
を使用し、他の投稿タイプには異なる値を使用します。 register_post_type()
に追加の値を渡すことが可能かどうかわからない…
これは可能ですが、WP_POST_REVISIONS
のwp-config.php
プロパティを変更するほど簡単ではありません。これは、 'wp_insert_post_data'にフィルターを追加することによって可能になります。
フィルタの追加は次のようにして行われます。
add_filter('wp_insert_post_data' , 'my_insert_post_data');
function my_insert_post_data($data , $postarr) {
// Check the revision stuff
return $data;
}