No recent updates? This plugin once went 9 years without an update. It probably works!
WordPress already lets you attach time-based custom data to posts. Tally Graph lets you plot that data over time using the Google Chart API. Any numeric data will work, whether it is related to athletic training, profits, environmental footprint, weight loss, or any topic you care about.
- Tallies data from any numeric value you enter under “Custom Field” in the WordPress post editor.
- Provides daily, weekly, monthly, or yearly tallies.
- Tally either data that accumulates, like donations, or just track a number like current weight.
- You can make basic use of Tally Graph without any knowledge of the Google Chart API, but you can also use nearly any Google Chart API parameters.
- Rarely requires upgrading
Tally Graph is easier to use than direct Google Chart API calls, but may not be what you need if:
- You’re looking for a point-and-click full graphical user interface
- A post for each data point is too cumbersome for your graphs
- You need to graph time intervals shorter than a day
Move on to the Other Notes tab for details.
You’ll want to do two things to use Tally Graph:
- Enter Data – put the numbers you want to track in a WordPress custom field.
- Visualize Data – tally and plot your numbers over time in a Google Chart.
Tally Graph looks in WordPress custom fields for data to pass on to the Google Chart API. As indicated by those instructions, a custom field consists of a key and value. You’ll make up the key. The value must be some kind of number. In the next step you’ll use the key name to tell Tally Graph which custom field data to use.
If you want to enter data without publishing a post, just put the custom fields on a dummy post and check “Keep this post private”. You may still want to edit the post date.
Say you have a bunch of posts with the custom field key “Marbles Lost”. You may feel like you’ve been losing your marbles faster recently, but you’re not sure, so you write a new post (or a page) containing this shortcode:
[tally_graph key="Marbles Lost"]
The Tally Graph plugin will replace that shortcode with a bar chart of how many marbles you’ve lost each month for the past six months. Those are default settings you can change with some more parameters.
[tally_graph key="Marbles Lost" tally_interval="day" interval_count="14" to_date="2008-05-01" chs="300x220" chtt="Marbles Lost"]
That shortcode results in a 300 pixel wide, 220 pixel high graph of your marbles lost in the 14 days prior to May 1st, 2008.
Shortcodes are great in post and page content, but if you want a graph somewhere else on your site, like in a sidebar, you’ll need a template tag. Aside from the different format, it works the same:
<?php echo tally_graph('key=Marbles Lost&tally_interval=week&interval_count=4'); ?>
That makes a nice sidebar graph of marbles lost over 4 weeks, up to the date of the last post displayed.
Read the Usage section first.
You type a tag directly into a post or page using WordPress shortcode format. To put a tag in a theme template, use template tag with querystring parameters. Both formats take the same parameters listed below.
This tag is replaced with an image created with the Google Chart API.
[tally_graph key="My Key"]
<?php echo tally_graph('key=My Key'); ?>
key – Required.
The key name of the custom field to use for the graph. Multiple keys can be included, separated by a comma.
year. default is
this is the interval of time over which the custom field values are tallied.
year. default is tally_interval.
this is the interval of time that is labeled at the bottom of the graph
This is the number of intervals to include in the graph.
Valid values include several date formats, like
October 31, 2007,
yesterday. Default is the date of the most recent post displayed.
The graph is constructed backward in time from this date.
Valid values are
delta. Default is
cumulativemethod totals custom field values for each interval.
trackmethod doesn’t total field values, but fills in time gaps between values. This is good for tracking numbers like current weight that you just want to track without tallying.
deltamethod computes a running total, adding changes to the total for each interval. This can be used for data where only losses and gains are entered. One entry is necessary to establish a starting value, then gains and losses are recorded as positive and negative values.
false. Default is
Turn off URL caching. Rarely used – only when the same graph appears more than once on a page.
This is a Google Chart API parameter, the chart size in pixels.
This is a Google Chart API parameter, the chart type.
bvsis a vertical bar chart.
Any other Google Chart API parameters are passed along, so you can go nuts with all the options. You’ll probably use at least
chtt, the chart title.
If you want to create your own image tag in a template, this tag will give you only the URL for the chart.
<?php echo tally_graph_url(); ?>
Parameters are the same as the
Install using any [standard plugin installation method][https://codex.wordpress.org/Managing_Plugins#Installing_Plugins].
Do I have to know about this Google API thing, or anything else techy?
You can get by with very little techyness, just WordPress custom fields and shortcodes. They’re really not bad – look over the Usage section under Other Notes. It’s not a point-and-click interface either, but it is easier than building your charts from scratch.
If you do want to get adventurous, you can have fancier charts in more places.
Are there any examples?
Check the forum, there’s at least one oldie-but-goodie.
Where are the custom fields?
As of WordPress 3.3 you must check a box in the “Screen Options” area in the upper right of the post editor page to make the custom field interface appear.
There are no reviews for this plugin.
Contributors & Developers
“Tally Graph” is open source software. The following people have contributed to this plugin.Contributors
Translate “Tally Graph” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Security improvements
- Support for PHP 7+
- New feature: the label_interval parameter