diff --git a/wp-includes/query.php b/wp-includes/query.php
index abc1111..def2222 100644
--- a/wp-includes/query.php
+++ b/wp-includes/query.php
@@ -123,6 +123,20 @@
  */
 class WP_Query {
 
+    /**
+     * Helper to check current query type against provided condition.
+     *
+     * @since 6.9.0
+     *
+     * @param string $type Conditional type (e.g., 'home', 'single', 'page').
+     * @return bool True if current query matches type.
+     */
+    private function is_query_type( $type ) {
+        return ( ! empty( $this->$type ) && true === $this->$type );
+    }
+
+
+
     /**
      * Is the query for the blog homepage?
      *
@@ -130,7 +144,7 @@ class WP_Query {
      * @return bool
      */
     public function is_home() {
-        return (bool) $this->is_home;
+        return $this->is_query_type( 'is_home' );
     }
 
     /**
@@ -139,7 +153,7 @@ class WP_Query {
      * @return bool
      */
     public function is_single() {
-        return (bool) $this->is_single;
+        return $this->is_query_type( 'is_single' );
     }
 
     /**
@@ -148,7 +162,7 @@ class WP_Query {
      * @return bool
      */
     public function is_page() {
-        return (bool) $this->is_page;
+        return $this->is_query_type( 'is_page' );
     }
