特定の投稿タイプのリビジョン制限数を設定できるようにしたいです。私はそれのためのプラグインがあることを知っています、そして私はそれが "wp-config.php"ファイルを通して設定されることができることを知っています、しかし私の質問は:
プラグインがなくても、テーマフォルダの範囲外で他のファイルを変更する必要もなく、自分のテーマに実装できる簡単な短いコードはありますか。
wp_revisions_to_keep()
関数を見ました。 wp_revisions_to_keep
の値をオーバーライドするWP_POST_REVISIONS
という名前のフィルターがあります。
これはテストされていない例です(PHP 5.4 +)。
add_filter( 'wp_revisions_to_keep', function( $num, $post )
{
// Post Types and Revision Numbers - Edit to your needs
$config = [
'post' => 10,
'page' => 9,
'cpt' => 8
];
// Get the current post type
$post_type = get_post_type( $post );
// Override the WP_POST_REVISIONS value
if( isset( $config[$post_type] ) && is_int( $config[$post_type] ) )
$num = $config[$post_type];
return $num;
}, 10, 2 );
しかし、この種の設定はテーマに関連するものよりプラグインとしての方が理にかなっていると思います。