<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

function haup_apply_custom_revisions_limit( $num, $post ) {
	$set_name = haumenu_define_option_name_05_optimize();
	$options  = get_option( $set_name );

	// 1. 機能自体が有効かチェック
	if ( empty($options['enable-set-revisions']) || $options['enable-set-revisions'] !== '1' ) {
		return $num;
	}

	// 2. 適用対象の投稿タイプかチェック
	$target_types = isset($options['set-revisions-posttype']) ? (array)$options['set-revisions-posttype'] : [];
	if ( ! in_array( $post->post_type, $target_types ) ) {
		return $num;
	}

	// 3. 指定されたリビジョン数を返す
	if ( isset($options['set-revisions-num']) ) {
		return intval($options['set-revisions-num']);
	}

	return $num;
}
add_filter( 'wp_revisions_to_keep', 'haup_apply_custom_revisions_limit', 10, 2 );