We'll create fresh WordPress site with Greencharts installed. You have 20 minutes to test the plugin after that site we'll be deleted.
This WordPress plugin allows you to easily add interactive charts to your website, using data from the global-warming.org API and the ChartJs library. The plugin has built-in mechanisms such as server cache, lazy load and client cache, which work together to reduce the CO2 emissions caused by internet/hardware usage per chart view.
Once the plugin is installed and configured, you can add chart shortcodes to your pages and posts. The available shortcodes are:
[greencharts-chart type="temperature"]
: Displays a line chart of global temperature change over time.[greencharts-chart type="co2"]
: Displays a line chart of CO2 emissions by country.[greencharts-chart type="methane"]
: Displays a line chart of global methane gas emissions.[greencharts-chart type="oceanwarming"]
: Displays a line chart of global ocean warming.You can customize the appearance of the charts using the ChartJs library’s options and callbacks using wordpress js hooks. Visit ChartJs documentation for more information.
If you have any issues with the plugin, please open a Github issue or contact us via email. We will do our best to assist you.
If you would like to contribute to the development of this plugin, please fork the repository and submit a pull request.
This plugin is provided “as is” without warranty of any kind, either express or implied. Global warming.org and ChartJs library do not endorse this plugin and are not responsible for any damages or losses that may result from its use.
Use the apply_filters function to set a transient value to false. This will disable caching for the greencharts data.
apply_filters('greencharts_transient_disableCache', false);
Use the apply_filters function to set the lifespan of transient. The filter can be used to modify the lifespan of the transient before it is set. The transient is used to cache remote API requests, default transient is 1 month. The lifespan should be the number of seconds, see $expiration parameter of wordpress set_transient
function
apply_filters('greencharts_transient_lifespan', $this->lifespan, $this);
Use the apply_filters function to set a logger value to true. This will enable logging for the greencharts data.
apply_filters('greencharts_logger_shouldLog', defined('WP_DEBUG') && true === WP_DEBUG);
Use the apply_filters function to set a verbose value to true. This will enable verbose logging for the greencharts data.
apply_filters('greencharts_logger_shouldBeVerbose', false);
Uses the apply_filters function to alter ajax resposes data used by charts. Useful if you need to add more charts.
apply_filters('greencharts_ajax_chartsApi',$charts->getChartsDataByType($type), $type);
Remember to use wp.hooks.addFilter
BEFORE greencharts js load.
This code applies a filter to the chartConfig object which is used to create a greencharts_js_chartConfig chart on the canvas. The filter is used to modify the chartConfig object so that it can be used to create a customized chart.
globalHooks.applyFilters("greencharts_js_chartConfig", chartConfig, canvas);
// usage example:
wp.hooks.addFilter(
"greencharts_js_chartConfig",
"defaultHooks",
(chartConfig, canvas) => {
console.log("THEME FILTER", chartConfig, canvas.dataset.type);
chartConfig.data.datasets[0].backgroundColor = "blue";
return chartConfig;
}
);
This code applies a filter to the debug var that control operations logging. The filter is set to false, meaning that any code related to greencharts_js_debug will not be logged in the browser js console.
globalHooks.applyFilters("greencharts_js_debug", false),
// usage example:
wp.hooks.addFilter("greencharts_js_debug", "defaultHooks", () => true);
This code applies a filter to the “greencharts_js_errorMessage” string. The filter takes in the string, along with the data and error objects, and returns a modified version of the string. This is useful for customizing error messages based on different scenarios.
globalHooks.applyFilters(
"greencharts_js_errorMessage",
"Something goes wrong during chart loading. Please retry later",
data,
error
);
This code applies a filter to the text of a “Reset zoom” button on a canvas element. This allows developers to customize the text of the button.
options.globalHooks.applyFilters(
"greencharts_js_resetZoomButtonText",
"Reset zoom",
canvas
);
This code applies a filter to the text of a “Load chart” button on a canvas element. This allows developers to customize the text of the button.
options.globalHooks.applyFilters(
"greencharts_js_loadButtonText",
"Load chart",
canvas
);<h3>Assets attribution</h3>
– Image by (rawpixel.com)[https://www.freepik.com/free-vector/social-media-analysis-design-graphs_16323246.htm#query=minimal%20charts&position=3&from_view=search&track=ais] on Freepik
– Image by (Freepik)[https://www.freepik.com/free-vector/green-energy-buildings_713297.htm#query=eco%20green&position=31&from_view=search&track=ais]