message = $custom_message; } } return false; } // Fallback: Direct verification if Turnstile plugin is not available. if ( empty( $this->secretKey ) ) { return false; } $verify_url = 'https://challenges.cloudflare.com/turnstile/v0/siteverify'; $verify_data = array( 'secret' => $this->secretKey, 'response' => $response, 'remoteip' => isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : '', ); $response_obj = wp_remote_post( $verify_url, array( 'body' => $verify_data, 'timeout' => 20, ) ); if ( is_wp_error( $response_obj ) ) { return false; } $body = wp_remote_retrieve_body( $response_obj ); $result = json_decode( $body, true ); if ( ! empty( $result['success'] ) ) { return true; } return false; } }