We'll create fresh WordPress site with Blazing Charts installed. You have 20 minutes to test the plugin after that site we'll be deleted.
We are not going to re-invent the wheel, and this plugin is not going to give you another charting library. This purpose of this plugin is to let you get the most out of charting libraries that already exist and are awesome. There are many of them out there, and most of them are free. Many of the other commercial libraries are free for a personal or non-profit project, or have a free branded version, which may have a small link to their website.
Here is a list of libraries currently added to the collection. If you know another charting library, compatible with GPL license, please inform us to add it.
Please refer to the license page of a library you want to use to check the precise license conditions.
This plugin allows you to create chart code snippets, which can be inserted into the posts or pages by using the shortcode of “BlazingChart”.
Another scenario is you have a function, defined in another plugin or in your theme, which extracts data from database and produces the scripts for the chart. Then you can give the name of that function as a parameter to the shortcode, so the function is called and the output of that function will be inserted in the page.
The “BlazingChart” shortcode can have up to 4 parameters:
Other than Google Charts which does not have a local version of library, all the other libraries are included in this plugin. Some of them are hosted on a CDN as well. So by changing the settings, you can easily switch between remote or local chart/map libraries.
“source”:
The second parameter specifies the user-friendly slug of the chart snippet as the source of script and data for the chart.
“function”:
If a function, defined in another plugin or in the theme, is going to produce the data and script for the chart, the name of that function can be given as the value of this parameter. This value can be not only a function name, but also other types of callbacks, like “Foo::method”, “array(‘Foo’, ‘method’)”, or “array($obj, ‘method’)”.
“options”:
Some of the charting libraries are just a single file. But others, like Flot, are divided to a main library and several auxiliary libraries, to make it lighter and more efficient. By using this parameter, you can give a comma separated list of auxiliary libraries of the main library to load. Here is the list of options for each library:
To include JavaScript files efficiently, none of these libraries are enqueued, until the shortcode of “BlazingChart” appears in a post or a widget. The plugin loads only one of these libraries, specified by “charttype” parameter. Moreover, to load the page faster, that library is loaded in the footer.
You can also use a built-in PHP function to invoke the chart anywhere in your template:
<?php
// define the parameters
$patts= array(
“charttype” => “name of one of the aforementioned charting libraries”,
“source” => “slug of the chart snippet”,
“options” => “auxiliary libraries to load”
);
// call the function to invoke the shortcode handler
blazing_charts_insert($patts);
?>
As always, there are exceptions:
To reduce the size of the libraries loaded for Google Charts, that library decides which portions of the library to be included, depending to the type of the chart. So the link to the CDN library must be included at the top of the script, saved in the chart snippet.
Although theoretically you can have various charts in a single page, drawn by more than one charting library, it is advisable not to do that. These libraries may conflict with each other, and may not get any of the charts drawn properly. Just make sure in every page, only one of those libraries is included.
Every chart has two major parts: first a container, specified by a <div> or <canvas> tag, with a certain id or class; and second a script which tells how that chart should be drawn.
If you have more than one chart in a single page, make sure each chart, saved as a Chart Snippet or produced by a function, has a unique id or class for its container. Otherwise there will be a conflict between those charts.
Shortcodes are case-sensitive. So if you want to use the shortcode of [BlazingChart], please make sure to type it correctly.
I tried to bring some examples about each of the libraries, in this plugin’s URI:
http://blazingspider.com/wp-demo
The detailed and updated version of documentation can be found in this link:
http://blazingspider.com/plugins/blazing-charts