WordPress plugin intelligence profile

Calculated fields for ACF

Simple field math for Advanced Custom Fields.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 5.9
Current version1.3.2
WordPress coverageTested up to WordPress 5.9
Minimum stackWP 4.7 · PHP 7.0
Directory statusactive
Last directory update2 Feb 20224y ago
Active installations1K+Adoption metric — not a quality score
WordPress.org rating4.1 / 5 from 14 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Calculated fields for ACF version 1.3.2 as active, updated 4y ago and tested up to WordPress 5.9.

Overview

About this plugin

Adds a formula fields ot Advanced Custom Fields that allows you to perform simple math based on field values. Calculations are updated dynamically via ajax while editing a post on the backend post editor as well as on front end forms.

Requirements

0 or later and works with Pro as well as the standard version.

Frontend forms

3, Calculated fields for ACF supports frontend forms created using the acf_form() function (built in to Advanced Custom Fields).

Formulas

Calculated fields adds a new setting “Formula” to the the ACF field editor. Formulas supports referring to other fields in the same Field group using the field name. If a formula is added to a sub field inside a repeater field, the name refers to another sub field in the same repeater.

”” prefix.

A formula can contain the basic mathematical operations: plus (+), minus (-), multiply (*), division (/) and power of (^). Formulas can also contains functions like sin, cos, arcsin, log, ln, sqrt, abs. Parentheses are supported.

If an expression can’t be evaluated due to invalid syntax or referring to undefined field names, it will silently return zero.

Examples of valid expressions (note, no equal sign at the beginning):

  • fieldA * 2
  • fieldA * fieldB
  • abs(fieldA) * (2 + sqrt(fieldB))
  • amount * parent.price

Conditional operators

An expression can also contain a conditional expression that will return either 0 or 1. The supported operators are:

  • Equals (==) – Returns 1 when two values are equal, 0 otherwise
  • Not equals (!=) – Returns 1 when two values are not equal, 0 otherwise
  • Greater than (>) – Returns 1 when the first operand is greater than the second, 0 otherwise
  • Greater than or equal (>=) – Returns 1 when the first operand is greater than or equal to the second, 0 otherwise
  • Less than (<) – Returns 1 when the first operand is less than the second, 0 otherwise
  • Less than or equal (<=) – Returns 1 when the first operand is less than or equal to the second, 0 otherwise

Examples of valid expressions using conditional operators:

  • 10 == 10 (returns 1)
  • 10 == 2 (returns 0)
  • 10 > 2 (returns 1)
  • 10 < 2 (returns 0)
  • 10 <= 10 (returns 1)

Rounding functions

Round a decimal value to the nearest integer. Supported functions are:

  • round() – Uses standard mathematical rounding rules to round to nearest integer
  • ceil() – Rounds the value to the next higher integer
  • floor() – Rounds the value to the next lower integer

Examples of valid expressions using rounding functions:

  • round(10.2) (returns 10)
  • round(10.9) (returns 11)
  • round(10.888888 * 10) / 10 (returns 10.9)
  • ceil(10.2) (returns 11)
  • floor(10.2) (returns 10)

Note that the round() function only takes one parameter and always round to an integer. If you need to round to a higher precision, multiply and divide as shown in third example above.

Group fields (new from 1.2.4)

Fields defined as part of a group, subfields, can be addressed using the group name as a prefix. Inside the group, a field defined on the parent level can be addressed using the “parent” prefix. See examples below:

Valid formula to use the value of field “foobar” defined inside the group “group2”:

foobar + 10

Valid formula in a field inside a group (assuming the parent has a field named count):

count * 22

Array functions for repeater fields

If repeater fields are used, a calculated field in the parent field group can summarize a specific repeater sub fields using the aggregation functions sum, count, average, min or max. amount)”” will return the sum of all the “amount” fields in the repeater field “orderlines”.

The available array functions are:

  • sum()
  • average()
  • count()
  • min()
  • max()

) in the aggregate expression is an expression in itself. price * amount)”. This expression will walk over all lines in the “orderlines” repeater field, perform the calculation “price * amount” and return the sum of all lines.

Note that when working with aggregate functions, parentheses can not be used. If you need to aggregate a more complex calculation, you should add an extra field in the repeater group and let the aggregate function work on this extra field.

Data type and calculation order

Calculated fields works with the assumption that all fields are defined as numeric in the ACF editor. Using a text field in a formula WILL PRODUCE UNPREDICTABLE RESULTS.

Calculations are made as the custom field is stored to the database. To minimize the impact of performance, Calculated fields rely on field order. A formula field can only refer to fields ordered BEFORE itself.

A formula field that refers to a field ordered after it WILL PRODUCE UNPREDICTABLE RESULTS.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • acf
  • admin
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 5.9

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 5.9.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to5.9
Minimum requirementsWordPress 4.7 · PHP 7.0
Update activity2 Feb 20224y ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.