這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

Calculate Values with Shortcodes

外掛說明

Have you ever wanted to calculate some values dynamically to display in your posts? Let’s say you have some shortcodes that retrieve values in real time from the database. Now you want to perform some calculations on those shortcodes and display the results in your posts or pages. This plugin allows you to use a simple [calculate] shortcode with the expression inside to display these values in real time!

So an expression like [calculate]2+3*4[/calculate] will return the value “14”. Now just replace any numeric value with a shortcode that returns a number and you’re set.

Attributes

You can use the “dec” attribute to specify the number of decimal digits you want to round the result up to. The default is “0”. Meaning that by default, all results will be rounded to an integer.

For international number formatting, you can use the “int” attribute to specify a locale. For example, int=”fr_FR” will format the numbers according to the french locale!

See screenshots for illustrations.

For example, you can use this to display values in a table that are constantly changing. Or refer to dynamic prices multiplied by some value. The possibilities are endless.

You can see a real world example of this plugin at work here:

The best part is, it doesn’t use dangerous functions like “eval” to work – which means all authors can use it safely. There’s no danger of it breaking your site.

螢幕擷圖

  • Basic Shortcode Usage in Editor
  • Calculated value in the post
  • Shortcode usage with shortcodes inside

安裝方式

  1. You can install the plugin from WordPress’s plugin repository.
  2. Just click “Activate” to enable the shortcode.
  3. Or download the zipped file
  4. Then go to Plugins -> Add New
  5. Click “Upload Plugin” at the top of the screen
  6. Use “Choose File” , select the zip file you just downloaded, and click “Install Now”
  7. On the next screen, click “Activate”

常見問題集

  1. What math expressions can I use with this plugin?
    This plugin supports all expressions allowed by EvalMath. You can see the documentation on this git page: https://github.com/dbojdo/eval-math

使用者評論

2022 年 1 月 21 日
Used this for a few years now and was just perfect for a few situations where I could do calculations to variables within headlines, text and other drag and drop elements. I could pull in dynamic woo product prices and calculate it with another variable fees within custom store pages. Non computer person could just update the woo product base price and everything would display correctly everywhere. Starting having a few issues in the last year, think about the same time I upgraded to php8. Issue was it was dropping the last digit in the decimals on rounding if it ended in 0 regardless of the dec= attribute setting. ie) 3.99 displays fine but 3.90 would come out as 3.9. I came up with a fix for it though to force the second decimal. Will post it in the support discussion.
2020 年 8 月 26 日
Great support, works flawlessly and really helped us out with some complex calculations!
2019 年 5 月 16 日
This plugin does what it says. It enables you to calculate numeric values generated by shortcodes or numbers within the site. Support is fantastic. When there was a problem with hidden characters the developer pushed an upgrade out solving the problem in less than a day!
閱讀全部 9 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Calculate Values with Shortcodes〉的開發相關工作。

參與者

變更記錄

2.3

Changed <? to <?php in evalmath.class.php
Removed the deprecated “money_format” function and replaced it with NumberFormatter instead

2.2

Strip out HTML from any inside shortcodes

2.1.1

Fixed a potential deprecation error: “Methods with the same name as their class will not be constructors in a future version of PHP”

Thanks to Kristina for pointing it out!

2.1

Strip HTML from inside shortcodes

Added a new optional “int” attribute which will format the output in a local currency. So for example, [calculate int=”fr_FR”]15.00[/calculate] will return 15,00

Fixed a potential deprecation error: “Methods with the same name as their class will not be constructors in a future version of PHP”