[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fiS5If0tsB1KJNjC705_iGbqzThry8dYpFsODNDddOn4":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"wundermatics","https:\u002F\u002Fprofiles.wordpress.org\u002Fwundermatics\u002F",2,1200,85,30,84,"2026-04-04T07:01:44.292Z",[13,35],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":19,"downloaded":20,"rating":21,"num_ratings":22,"last_updated":23,"tested_up_to":24,"requires_at_least":25,"requires_php":26,"tags":27,"homepage":30,"download_link":31,"security_score":8,"vuln_count":32,"unpatched_count":32,"last_vuln_date":33,"fetched_at":34},"calculated-fields-for-acf","Calculated fields for ACF","1.3.2","\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>Calculated fields requires Advanced Custom Fields 5.0 or later and works with Pro as well as the standard version.\u003C\u002Fp>\n\u003Ch3>Frontend forms\u003C\u002Fh3>\n\u003Cp>Beginning in version 1.2.3, Calculated fields for ACF supports frontend forms created using the acf_form() function (built in to Advanced Custom Fields).\u003C\u002Fp>\n\u003Ch4>Formulas\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>A sub field inside a repeater field can also refer to a parent field using the “parent.”” prefix.\u003C\u002Fp>\n\u003Cp>A formula can contain the basic mathematical operations: plus (+), minus (-), multiply (*), division (\u002F) and power of (^). Formulas can also contains functions like sin, cos, arcsin, log, ln, sqrt, abs. Parentheses are supported.\u003C\u002Fp>\n\u003Cp>If an expression can’t be evaluated due to invalid syntax or referring to undefined field names, it will silently return zero.\u003C\u002Fp>\n\u003Cp>Examples of valid expressions (note, no equal sign at the beginning):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>fieldA * 2\u003C\u002Fli>\n\u003Cli>fieldA * fieldB\u003C\u002Fli>\n\u003Cli>abs(fieldA) * (2 + sqrt(fieldB))\u003C\u002Fli>\n\u003Cli>amount * parent.price\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Conditional operators\u003C\u002Fh4>\n\u003Cp>An expression can also contain a conditional expression that will return either 0 or 1. The supported operators are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Equals (==) – Returns 1 when two values are equal, 0 otherwise\u003C\u002Fli>\n\u003Cli>Not equals (!=) – Returns 1 when two values are not equal, 0 otherwise\u003C\u002Fli>\n\u003Cli>Greater than (>) – Returns 1 when the first operand is greater than the second, 0 otherwise\u003C\u002Fli>\n\u003Cli>Greater than or equal (>=) – Returns 1 when the first operand is greater than or equal to the second, 0 otherwise\u003C\u002Fli>\n\u003Cli>Less than (\u003C) – Returns 1 when the first operand is less than the second, 0 otherwise\u003C\u002Fli>\n\u003Cli>Less than or equal (\u003C=) – Returns 1 when the first operand is less than or equal to the second, 0 otherwise\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Examples of valid expressions using conditional operators:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>10 == 10 (returns 1)\u003C\u002Fli>\n\u003Cli>10 == 2 (returns 0)\u003C\u002Fli>\n\u003Cli>10 > 2 (returns 1)\u003C\u002Fli>\n\u003Cli>10 \u003C 2 (returns 0)\u003C\u002Fli>\n\u003Cli>10 \u003C= 10 (returns 1)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Rounding functions\u003C\u002Fh4>\n\u003Cp>Round a decimal value to the nearest integer. Supported functions are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>round() – Uses standard mathematical rounding rules to round to nearest integer\u003C\u002Fli>\n\u003Cli>ceil() – Rounds the value to the next higher integer\u003C\u002Fli>\n\u003Cli>floor() – Rounds the value to the next lower integer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Examples of valid expressions using rounding functions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>round(10.2) (returns 10)\u003C\u002Fli>\n\u003Cli>round(10.9)  (returns 11)\u003C\u002Fli>\n\u003Cli>round(10.888888 * 10) \u002F 10 (returns 10.9)\u003C\u002Fli>\n\u003Cli>ceil(10.2) (returns 11)\u003C\u002Fli>\n\u003Cli>floor(10.2) (returns 10)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch4>Group fields (new from 1.2.4)\u003C\u002Fh4>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cp>Valid formula to use the value of field “foobar” defined inside the group “group2”:\u003Cbr \u002F>\n* group2.foobar + 10\u003C\u002Fp>\n\u003Cp>Valid formula in a field inside a group (assuming the parent has a field named count):\u003Cbr \u002F>\n* parent.count * 22\u003C\u002Fp>\n\u003Ch4>Array functions for repeater fields\u003C\u002Fh4>\n\u003Cp>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. For example, the expression: “Sum(orderlines.amount)”” will return the sum of all the “amount” fields in the repeater field “orderlines”.\u003C\u002Fp>\n\u003Cp>The available array functions are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>sum()\u003C\u002Fli>\n\u003Cli>average()\u003C\u002Fli>\n\u003Cli>count()\u003C\u002Fli>\n\u003Cli>min()\u003C\u002Fli>\n\u003Cli>max()\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note that anything after the dot (.) in the aggregate expression is an expression in itself. It’s perfectly OK to write a formula like: “Sum(orderlines.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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch4>Data type and calculation order\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n","Simple field math for Advanced Custom Fields.",1000,19892,82,14,"2022-02-02T15:30:00.000Z","5.9.13","4.7","7.0",[28,29],"acf","admin","https:\u002F\u002Fwww.wundermatics.com\u002Fproduct\u002Fcalculated-fields-for-acf","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcalculated-fields-for-acf.1.3.2.zip",0,null,"2026-03-15T15:16:48.613Z",{"slug":36,"name":37,"version":38,"author":4,"author_profile":5,"description":39,"short_description":40,"active_installs":41,"downloaded":42,"rating":43,"num_ratings":44,"last_updated":45,"tested_up_to":24,"requires_at_least":46,"requires_php":26,"tags":47,"homepage":53,"download_link":54,"security_score":8,"vuln_count":32,"unpatched_count":32,"last_vuln_date":33,"fetched_at":34},"wunderautomation","WunderAutomation","1.9.0","\u003Cp>WunderAutomation brings automation features similar to IFTTT or Zapier to your WordPress site so that you can create simple and powerful automations without writing code. This enables anyone (not just coders) to customize WordPress to suit your needs. Human Friendly.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FqyKyDJOq2VI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Overview\u003C\u002Fh3>\n\u003Cp>Among many other things, our users use WunderAutomation to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Send reminders to users who created an account but never logged in\u003C\u002Fli>\n\u003Cli>Send follow up emails to users who buy specific products and ask for a review or suggest similar products\u003C\u002Fli>\n\u003Cli>Send emails to users 30 days after the last purchase of a specific product to remind them to restock\u003C\u002Fli>\n\u003Cli>Send notifications to internal email groups, SMS or Slack channels when orders are paid, cancelled or fail\u003C\u002Fli>\n\u003Cli>Send out a personalized WooCommerce coupon to users once they have placed a certain number of orders or have spent a certain amount on the site\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In short, WunderAutomation lets users create \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Fworkflows\u002F?utm_source=readme&utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">workflows\u003C\u002Fa> that automate common WordPress tasks. A \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Fworkflows\u002F?utm_source=readme&utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">workflow\u003C\u002Fa> consists of a \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Ftriggers\u002F\" rel=\"nofollow ugc\">trigger\u003C\u002Fa>, and one or many steps. A trigger is what kicks of the workflow can be almost anything, for example a new WooCommerce order, a user login or an incoming webhook. Each step is either a \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Ffilters\u002F\" rel=\"nofollow ugc\">filter\u003C\u002Fa> that determines the workflow should continue or an \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Factions\u002F\" rel=\"nofollow ugc\">action\u003C\u002Fa> that does some work.\u003C\u002Fp>\n\u003Cp>You can filter a workflow based on almost anything like WooCommerce order total, the customers email address. Or the WordPress user login count, or a parameter in an incoming webhook. Multiple filters can be combined using logical AND\u002FOR expressions. When all the filters pass, the actions are carried out, you can update WordPress posts or WooCommerce orders, add custom fields, create new users or posts, add or remove taxonomy terms (tags), send emails or run a REST request to an external service.\u003C\u002Fp>\n\u003Cp>There are endless ways to combine triggers, filters and actions so you can add almost any custom functionality to your WordPress site.\u003C\u002Fp>\n\u003Ch3>WooCommerce\u003C\u002Fh3>\n\u003Cp>WunderAutomation supports WooCommerce out of the box so it can trigger on WooCommerce events such as receiving a new order and perform actions like adding an order note or changing the order status.\u003C\u002Fp>\n\u003Cp>From version 1.9.0 we also support the popular WooCommerce PDF Invoices & Packing Slips plugin so that you can use invoice numbers, date and notes into a workflow.\u003C\u002Fp>\n\u003Ch3>Advanced Custom Fields\u003C\u002Fh3>\n\u003Cp>WunderAutomation also supports Advanced Custom Fields (free and Pro versions) out of the box. ACF fields are accessible both in filters and action parameters so that you can take full advantage of the customizations you’ve made using ACF. A popular use case is to combine ACF and WunderAutomation to create \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002F2020\u002F01\u002F08\u002Fdelivery-tracking-notifications-from-woocommerce\u002F\" rel=\"nofollow ugc\">customized delivery notifications\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Bulk handling\u003C\u002Fh3>\n\u003Cp>You can also handle objects (users, posts, orders and comments) in bulk using WunderAutomation, we call this Re-Triggers. A re-trigger runs periodically, ie every morning at 8AM and finds all objects that fit a certain criteria. For instance all posts with post type = “post” that was created in the past 30 days.\u003C\u002Fp>\n\u003Cp>These objects are then sent to a workflow that where you can handle them individually, for instance to disable comments if the post is older than X days and belongs to a certain category.\u003C\u002Fp>\n\u003Ch3>Webhooks\u003C\u002Fh3>\n\u003Cp>WunderAutomation can handle both incoming webhooks for triggering a workflow and sending out webhooks to external services. Incoming webhooks can be authenticated using Basic Auth, HTTP header tokens or HMAC signed payload (that Github uses). Webhooks makes it easy to use WunderAutomation in combination with \u003Ca href=\"https:\u002F\u002Fzapier.com\u002F\" rel=\"nofollow ugc\">Zapier\u003C\u002Fa>, you can both start a zap using a WunderAutomation workflow and you can use Zapier to start a workflow.\u003C\u002Fp>\n\u003Ch3>Related objects\u003C\u002Fh3>\n\u003Cp>As of version 1.7 WunderAutomation supports adding related objects to a Workflow using the new “Add object” action. This enables more even advanced workflows where you can access all properties on objects that are related to the page\u002Fpost\u002Forder that triggered the workflow. This is useful in situations where you are setting up relationships between custom post types, ie “city” and “country”. Using “Add object” you can use the parent “country” object in filters and parameters when a “city” post have been updated.\u003C\u002Fp>\n\u003Ch3>WunderAutomation Pro\u003C\u002Fh3>\n\u003Cp>Out of the box, WunderAutomation has great support for WordPress core, WooCommerce and Advanced Custom Fields. With WunderAutomation Pro you also get access to a number of additional integrations with popular plugins and services.\u003C\u002Fp>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fwunderautomation-pro\u002F?utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.wundermatics.com\u002Fwunderautomation-pro\u002F\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>MailChimp\u003C\u002Fli>\n\u003Cli>MailPoet\u003C\u002Fli>\n\u003Cli>BuddyPress\u003C\u002Fli>\n\u003Cli>Slack\u003C\u002Fli>\n\u003Cli>Telegram\u003C\u002Fli>\n\u003Cli>Twilio (SMS gateway)\u003C\u002Fli>\n\u003Cli>WPForms and WPForms lite\u003C\u002Fli>\n\u003Cli>Contact Form 7\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>WunderAutomation Pro also comes with more advanced Re-trigger scheduling and some additional WooCommerce parameters and filters.\u003C\u002Fp>\n\u003Ch3>Built in functionality\u003C\u002Fh3>\n\u003Cp>Also see: \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Fbuilt-in-triggers\u002F?utm_source=readme&utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">built in triggers\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Triggers\u003C\u002Fp>\n\u003Cp>Triggers are used to start a workflow\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Webhook\u003C\u002Fstrong>; Starts a workflow in response to an inbound webhook (i.e from Zapier).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User\u003C\u002Fstrong>; Created, Login, Profile updated, Role changed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post\u003C\u002Fstrong>: Created, Pending, Published, Privatized (published as private), Saved, Status changed and trashed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order\u003C\u002Fstrong> (WooCommerce): Created, OnHold, Paid, Processing, Completed, Pending, Refunded, Saved, Cancelled\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comment\u003C\u002Fstrong>: Submitted, Approved, Status changed, WooCommerce order note submitted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Filters:\u003C\u002Fp>\n\u003Cp>Also see: \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Fbuilt-in-filters\u002F?utm_source=readme&utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">built in filters\u003C\u002Fa>\u003Cbr \u002F>\nFilters can be used to filter out triggered events so that only certain events actually leads to an action being performed.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>User\u003C\u002Fstrong>: Email, Role\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post\u003C\u002Fstrong>: Title, Content, Tags, Categories, Owner, Status, Type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order\u003C\u002Fstrong>: Billing city, Billing country, Billing state, Downloadable products, Virtual products, Payment method, Producs, Product categories, Producs tags, Shipping city, Shipping country, Shipping state, Order total\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer\u003C\u002Fstrong>: Previous Order count, Previous order total\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comment\u003C\u002Fstrong>: Author email, Author name, Content, Status, Type\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Actions\u003C\u002Fp>\n\u003Cp>Also see: \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Fbuilt-in-actions\u002F?utm_source=readme&utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">built in actions\u003C\u002Fa>\u003Cbr \u002F>\nActions are things a workflow can do \u002F change \u002F update as a result of a trigger\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add \u002F update custom field\u003C\u002Fli>\n\u003Cli>Change user role\u003C\u002Fli>\n\u003Cli>Create post\u003C\u002Fli>\n\u003Cli>Create user\u003C\u002Fli>\n\u003Cli>Change post \u002F comment status\u003C\u002Fli>\n\u003Cli>Add \u002F remove taxonomy term (tag or comment)\u003C\u002Fli>\n\u003Cli>Write a line to a log file\u003C\u002Fli>\n\u003Cli>Send plain text, HTML or WooCommerece email\u003C\u002Fli>\n\u003Cli>Run a http request to a remote REST API\u003C\u002Fli>\n\u003Cli>Run a webhook call (i.e to Zapier)\u003C\u002Fli>\n\u003Cli>Add WooCommerce order note\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Parameters\u003C\u002Fp>\n\u003Cp>Also see: \u003Ca href=\"https:\u002F\u002Fwww.wundermatics.com\u002Fdocs\u002Fbuilt-in-parameters\u002F?utm_source=readme&utm_medium=readme&utm_campaign=potential_users\" rel=\"nofollow ugc\">built in parameters\u003C\u002Fa>\u003Cbr \u002F>\nParameters are used to customize an action with content from the object (post, order, user) that triggered it.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>User\u003C\u002Fstrong>: Id, First name, Last name, Email, Nickname, Role, Last login date\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post\u003C\u002Fstrong>: Id, Title, Content, Slug, Admin url, public url, date, modified date, Comment count, custom fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order\u003C\u002Fstrong>: Id, Status, SubTotal, Total excl. tax, Total tax, Stripe fee, Paypal fee, Payment method, Customer email, Shipping and billing address fields, order key\u003C\u002Fli>\n\u003Cli>\u003Cstrong>General\u003C\u002Fstrong>: Siteurl, date, blogname, remote IP\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>WunderAutomation also supports both incoming and outgoing Webhooks which is ideal for integrating your workflows with Zapier. This gives you access to thousands of integrations via their service.\u003C\u002Fp>\n\u003Ch3>Logging\u003C\u002Fh3>\n\u003Cp>WunderAutomation logs everything it does and in the interest of being human friendly, it also comes with a searchable log viewer. This makes it easy to keep track of what triggers that has fired, if the filters passed OK or not and if the actions was carried out or not.\u003C\u002Fp>\n","WordPress and WooCommerce task automation. Without code.",200,14094,80,8,"2022-05-15T21:13:00.000Z","5.3",[48,49,50,51,52],"automate","automation","ifttt","nocode","zapier","https:\u002F\u002Fwww.wundermatics.com\u002Fwunderautomation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwunderautomation.1.9.0.zip"]