$entry ) { if ( ! is_array( $entry ) || (int) ( $entry[1] ?? 0 ) <= $now ) { unset( $stored[ $k ] ); } } $entry = $stored[ $key ] ?? array( 0, $now + self::WINDOW ); unset( $stored[ $key ] ); $entry[0] = (int) $entry[0] + 1; $stored[ $key ] = $entry; if ( count( $stored ) > self::MAX_KEYS ) { $stored = array_slice( $stored, -self::MAX_KEYS, null, true ); } update_option( self::OPTION, $stored, true ); return $entry[0] <= $limit; } public static function reset(): void { delete_option( self::OPTION ); } }