Skip to content
Ultivo Toolkit 1.4 is here! Get 10% off your first year with LAUNCH10 until October 30. See pricing
Changelog

What changed in Ultivo Toolkit

v1.4.0

You could already switch a field group or a form off. Nothing on screen told you so. Field groups, forms, post types, taxonomies and options pages have had an active state from the start: an inactive one keeps its definition and stops doing anything on the site. But the list screens never showed which items were on, and the only way to switch one off was to open it and dig through the publish box. This release puts that state where you work.

  • A Status column with a switch, on all five list screens. One click, saved as you click, nothing to confirm. The same switch, labeled Active, sits next to the Update button in the field group and form builders, so you can switch something off while you are working on it instead of going back to the list. Because the column now says which state each row is in, the screens drop what repeated it: the Published and Draft links above the list, the "Draft" label WordPress prints behind a title, and the month filter. All and Trash stay, but only once something is actually in the trash. Quick Edit goes too, on those five screens only: it offered Scheduled, Pending Review and Password protected, and picking one of those takes a form off your site without saying so.
  • Conditional logic reads like a sentence. The operators are words now, not symbols: is equal to, is not equal to, contains, is greater than, is less than. And when the field you compare against has fixed choices, the value is a dropdown of those choices instead of a text box, so there is no key to mistype and no silent mismatch between what a rule says and what it does. A stored value that is no longer one of the choices keeps its place in the list, marked, rather than quietly becoming the first choice the moment you open the field. The field group builder has the same condition builder as the form builder now, down to the "and" between rules in a group.
  • Enhancements is a list with a panel. Seventeen modules used to sit in four stacked cards, about two screens tall, with seven Save buttons scattered through them. They now sit in a sidebar under Content, Media, Site and Security, each row with its own switch, and the panel on the right shows the module you picked: what it does, whether it is on, and its settings. A module with its own screen shows a Configure link there. Hide login shows your login address for as long as the module is on, not only in the second after you switch it on, so you can always find your way back in.
  • One filter above your entries instead of two. The row of form links was capped at six forms, so on a site with more it could never do the job it was there for. It is gone, and the dropdown in the filter bar carries each form's entry count instead: Contact form (23). Forms with no entries stay in the list at (0), so you can still pick one.
  • Content ordering, Admin columns and Enhancements say which screen you are on. The bar at the top only ever said the product name.
  • The Run on dropdown in the snippet editor (Pro) matches the controls beside it again.

Fixes: the free version no longer offers ACF users a field type it does not have. A setting that depends on another one stayed hidden when your browser restored a dropdown to an earlier choice on reload, so you could end up looking at "Only selected post types" with nothing underneath it.

v1.3.0

Three screens that used to open on nothing. Content ordering, Admin columns and the Menu Organizer each greeted you with a dropdown and an empty page. All three now show what you can work on in a list, with the thing you picked beside it, so you can see what is there before you choose.

  • Content ordering knows about parents. Child pages sit indented under the page they belong to, and dragging a parent takes its children along instead of stranding them at the bottom of the list. There is a search box above the list too: type a few letters and it narrows to what matches, parents included, so you can still tell where something sits. Post types and taxonomies sit in a sidebar with the number of items in each.
  • Admin columns take a width and a name. Set a column's width in pixels or as a percentage, or leave it empty and let WordPress decide as it always has. Widths apply on screens wide enough to show the table, so a phone is unaffected. You can also give a column your own heading, for when "Title" is not what that column holds on your site.
  • The Menu Organizer edits on the right. The panel used to open between the rows and push everything below it out of the way, so after every save you went looking for your place again. It now sits in a column on the right and follows you as you scroll, and the list stays exactly where it was. On a menu of eighteen items that is the whole difference.
  • Forms can post to a webhook (Pro). Send each submission as JSON to a URL of your choosing: Zapier, Make, n8n or an endpoint of your own. The payload carries the form, the submission, the fields and the site; a file travels as its filename, never its contents. Add a signing secret and every request carries an X-Ultivo-Signature header so your endpoint can prove the call came from you. A webhook that fails never costs you a submission: it is sent after the entry is stored and after the notifications go out, and the result shows up on the submission itself.

Fixes

  • The tab said "Order" while the module is called Content ordering everywhere else.
v1.2.1

A fix for one thing, and it is the kind you want today. On 1.2.0 the Update button on a form did nothing at all: no message, no reload, no saved changes.

  • Saving a form works again. The hidden template a new notification row is cloned from carried a required recipient field. That field is empty and out of sight, so the browser refused to submit the form and had nowhere to show its complaint, which left the Update button looking dead. It affected every form on every site running 1.2.0.

Nothing else changed. If you are on 1.2.0, update: there is no way to save a form until you do.

v1.2.0

Forms grew up some more. Start a form from a ready-made one, close it when you have had enough submissions, find an old one back, and see whether the notification actually left the building.

  • Start from a ready-made form. An empty canvas now offers Contact, Quote request, Application and Booking request, each listing the fields it brings. Click one and it is there, as ordinary fields you can rename, reorder and delete. They disappear the moment you add a field yourself, so starting from scratch costs no extra click.
  • A form can close. Stop accepting submissions by hand, or set a maximum and let it close itself; visitors get your own message where the form used to be. Handy for an application deadline or a booking that is full. Submissions you moved to the trash do not count towards that maximum.
  • You can see whether a notification was sent. Sending can fail for reasons that have nothing to do with your form, and WordPress tells nobody, which is how people end up believing a form gets no submissions while they are sitting in the list. There is now a column in the entries list, an explanation on the submission with the mail server's own error, and a warning on the dashboard.
  • Notifications link to the submission. Open it straight from the email instead of logging in and hunting for the right row. New placeholder {entry_link}.
  • Search your submissions. The search box searches what visitors actually typed, not just the title: an email address, a name, a phrase from a message. It combines with the form filter, and the search term sits above the list as a chip you can click away.
  • Snippets export as real files (Pro). A ZIP with one .css, .js, .php or .html per snippet, named after the snippet, for moving code into a theme or into version control. The usual JSON travels along in the same ZIP, because a .css file cannot carry a snippet's type, conditions or priority.

Fixes

  • The search line above a list no longer floats loose under the tabs.
  • Labels next to a checkbox line up with the text beside them.
v1.1.0

Forms grew up. A form can send more than one email, and it can send the visitor somewhere after submitting. The entries screen stopped pretending submissions are blog posts.

  • More than one notification per form. Point one at your own inbox and another at {field:email}, and the person who filled in your form gets a confirmation while you get the alert. Add as many as you need; an empty list means no email is sent, so the old on/off checkbox is gone.
  • Send visitors to your own thank-you page. A new Redirect URL setting under the success message. Leave it empty and nothing changes. An address on another site works too, which matters if your booking or payment flow lives elsewhere. It also gives you a page to count in your analytics, which a message on the same page never could.
  • A recipient that isn't an email address no longer reaches the mailer. As soon as the recipient is a form field, visitors mistype and leave fields empty; that notification is now skipped instead of sent into the void. A comma-separated list of addresses keeps working.
  • The entries screen is about entries. You can no longer edit a submission — it is a record of what somebody sent you. The date column says when it arrived instead of "Published", Quick Edit is gone, and the links above the list no longer offer a status that every entry shares.
  • You can see which form you are looking at. The forms with the most recent submissions sit above the list with their counts, one click each, and the dropdown in the filter bar covers the rest. Whichever way you arrive, the screen shows which form it is listing.

Fixes

  • The character counter and the live Google and social previews under an SEO title never updated. The field shared its id with the metabox heading WordPress generates, so the script kept finding the heading.
  • With WP_DEBUG on, every request logged a notice about translations loading too early.
  • The author name in the plugins list links to this site again.
  • The variable button beside a field is square and lines up with the field next to it.
  • The menu icon sat two pixels above the icons beside it when the admin menu is collapsed.
v1.0.0

First release. Ultivo Toolkit is a WordPress developer toolkit: custom fields, forms, SEO and a set of site utilities in one plugin that ships ready to run: no build step and nothing to install alongside it.

  • Custom fields. A visual field group builder with 35 field types, including repeater and group. Location rules, conditional logic, validation, and a full developer API for templates.
  • Content types. Post types, taxonomies and options pages from the admin, no code required.
  • Forms. A drag and drop builder, entries stored in WordPress, notifications, file uploads outside the media library, spam protection with reCAPTCHA or Turnstile, and optional AJAX submitting.
  • SEO essentials. Titles, descriptions, canonicals, robots, Open Graph and an XML sitemap. Stays out of the way when Yoast, Rank Math or AIOSEO is active.
  • Code snippets. A Pro feature: PHP, CSS, JavaScript and HTML snippets with syntax highlighting, conditions, priorities and revisions, managed from the admin, with the syntax check and safe mode the executing types need. Not present in the free version.
  • Site enhancements. Seventeen small modules, each off until you switch it on: SMTP, redirects, admin columns, content ordering, a custom login URL, an admin menu organizer and more.
  • Local JSON. Field groups are written to your theme as JSON, so they travel with your code and through version control.
  • Migration from ACF. One click imports field groups from the database and from acf-json.

Requires WordPress 6.0 or later and PHP 8.2 or later.

Pro adds Blueprints, the Clone field and Flexible Content, plus priority support and updates.