web-dev-qa-db-ja.com

投稿タイプごとのリビジョン番号

wp-config.phpでは、WordPressが 投稿リビジョンをどう扱うかを変更することができます 。具体的には、それらを無効にしたり、リビジョンの最大数を指定することができます。

投稿タイプごとに最大数またはリビジョンを設定できるようにしたいです。

これは可能ですか?

6
chrisguitarguy
  1. 'wp_save_post_revision'からアクション'pre_post_update'を削除します。デフォルトごとにwp-includes/default-filters.phpにデフォルトの優先度(10)で設定されます。

  2. このフックにあなた自身の関数を追加してください。パラメータとして$post_IDを取得するので、 投稿タイプの検出 は簡単です。

  3. コールバックで、wp_save_post_revision()からコードをコピーしますが、投稿タイプpostにのみ定数WP_POST_REVISIONSを使用し、他の投稿タイプには異なる値を使用します。 register_post_type()に追加の値を渡すことが可能かどうかわからない…

1
fuxia

これは可能ですが、WP_POST_REVISIONSwp-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;
}
1
Barry Kooij