Title: wp-includes/class-wp-speculation-rules.php | Developer.WordPress.org

---

# File: wp-includes/class-wp-speculation-rules.php

 * method[WP_Speculation_Rules::is_valid_source()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_source/)
 * Checks whether the given speculation rules source is valid.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_source/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_source/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:290](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L290-L292)
 * method[WP_Speculation_Rules::is_valid_id()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_id/)
 * Checks whether the given ID is valid.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_id/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_id/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:254](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L254-L256)
 * method[WP_Speculation_Rules::is_valid_mode()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_mode/)
 * Checks whether the given speculation rules mode is valid.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_mode/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_mode/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:266](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L266-L268)
 * method[WP_Speculation_Rules::is_valid_eagerness()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_eagerness/)
 * Checks whether the given speculation rules eagerness is valid.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_eagerness/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/is_valid_eagerness/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:278](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L278-L280)
 * class[WP_Speculation_Rules](https://developer.wordpress.org/reference/classes/wp_speculation_rules/)
 * Class representing a set of speculation rules.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:16](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L16-L293)
 * method[WP_Speculation_Rules::add_rule()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/add_rule/)
 * Adds a speculation rule to the speculation rules to consider.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/add_rule/#used-by)
   | Uses [8 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/add_rule/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:73](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L73-L213)
 * method[WP_Speculation_Rules::has_rule()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/has_rule/)
 * Checks whether a speculation rule for the given mode and ID already exists.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_speculation_rules/has_rule/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/has_rule/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:224](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L224-L226)
 * method[WP_Speculation_Rules::jsonSerialize()](https://developer.wordpress.org/reference/classes/wp_speculation_rules/jsonserialize/)
 * Returns the speculation rules data ready to be JSON-encoded.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/jsonserialize/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_speculation_rules/jsonserialize/#uses)
   | Source: [wp-includes/class-wp-speculation-rules.php:235](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-speculation-rules.php#L235-L244)