Visualizer: How to extend REST endpoints with JSON response

Add authentication, headers and POST parameters to the request

add_filter( 'visualizer_json_args', 'visualizer_json_args', 10, 2 );
function visualizer_json_args( $args, $url ) {
	if ( $url === 'https://api.uptimerobot.com/v2/getMonitors' ) {
		$args = array(
			'method' => 'POST',
			'headers' => array(
				'cache-control' => 'no-cache',
				'content-type' => 'application/x-www-form-urlencoded'
			),
			'body'	=> array(
				'api_key' => 'apikey',
				'format' => 'json',
				'logs' => '1',
			),
		);
	}
	return $args;
}

Filter out irrelevant/invalid rows

add_filter( 'visualizer_json_include_row', 'visualizer_json_include_row', 10, 4 );
function visualizer_json_include_row( $include, $data, $root, $url ) {
	if ( $url === 'https://data.cityofnewyork.us/api/views/kku6-nxdu/rows.json' ) {
		// ignore rows that have the value of "dataTypeName" as "meta_data"
		$include = isset( $data['dataTypeName'] ) && 'meta_data' === $data['dataTypeName'] ? false : true;
	}
	return $include;
}

Using the above filter shows the below table:

instead of this one:

Placement

This code should be placed in the functions.php file of your active theme. ( Note: on a theme update, the code would be lost, so you can consider using a child theme, and add the code in the functions.php file of the child theme )

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us