Tag: Execution

  • Remove Extensions from GraphQL Response

    This snippet removes the “extensions” from the GraphQL response:

    add_filter( 'graphql_request_results', function( $response ) {
    	// If it's an ExecutionResult object, we need to handle it differently
    	if ( $response instanceof \GraphQL\Executor\ExecutionResult ) {
    		// Convert to array and remove extensions if they exist
    		$array = $response->toArray();
    		if ( isset( $array['extensions'] ) ) {
    			unset( $array['extensions'] );
    		}
    		return $array;
    	}
    
    	// Handle array responses
    	if ( is_array( $response ) && isset( $response['extensions'] ) ) {
    		unset( $response['extensions'] );
    	}
    
    	// Handle object responses
    	if ( is_object( $response ) && isset( $response->extensions ) ) {
    		unset( $response->extensions );
    	}
    
    	return $response;
    }, 99, 1 );

    Before

    After