web-dev-qa-db-ja.com

特定の投稿の投稿の改訂を有効にする

ユーザーの操作時に特定の投稿を除外することによってFALSEのwp_post_revisions構成をオーバーライドし、データベースストアのリビジョンのみを保存する方法があるかどうか疑問に思っていました。

これを実装するにはどうすればよいですか?

1
jeejee

チェックはwp-includes/revision.phpのwp_revisions_to_keep($post)で行われ、結果はフィルターを介して実行されるため、次のようなことができるはずです。

<?php
function wpse_289553($num, $post) {
        if(in_array($post->ID, array(123, 456, 789))) {
            return -1; 
        }
        return $num;
}
add_filter("wp_revisions_to_keep", "wpse_289553", 10, 2);

その配列に投稿IDを設定し、保持するリビジョンの数に返される数を調整します。 -1は「すべて」を意味します。

2
janh