该插件尚未通过WordPress的最新3个主要版本进行测试。 当与较新版本的WordPress一起使用时,可能不再受到维护或支持,并且可能会存在兼容性问题。

Greencharts

描述

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.

Usage

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.

Support

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.

Contribution

If you would like to contribute to the development of this plugin, please fork the repository and submit a pull request.

Disclaimer

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.

Plugin hooks

php [docs](https://developer.wordpress.org/plugins/hooks/)

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);

js [docs](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-hooks/)

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]

屏幕截图

  • The button viewed before chart load
  • The zoomed CO2 chart
  • The entire CO2 chart
  • The ocean warming chart
  • The methane levels chart
  • The temperature chart

安装

  • Download the plugin from the WordPress plugin repository.
  • Upload the plugin to your website and activate it.

评价

此插件暂无评价。

贡献者及开发者

“Greencharts” 是开源软件。 以下人员对此插件做出了贡献。

贡献者

将“Greencharts”翻译成您的语言。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志

更新日志

  • 1.0.1
    Updated README
  • 1.0.0
    The first stable version
  • 0.1
    The first beta version