This version adds the option for a category checklist field for your testimonial submission form.
Prior to this, the only option for a category field was a dropdown selector. That worked well for allowing someone submitting a testimonial to select a single category. Now you can add a category checklist to allow selecting multiple categories.
The fields editor: a better UI
While I was in there, I also made several improvements to the fields editor.
I fixed a bug where a custom field name may have had two underscores instead of one. For example, when adding a field labeled “City & State”, the plugin converted this to “city__state” (removing the ampersand and replacing each space with an underscore) when assigning the field name. Now, correctly, that would be “city_state”.
The field type now appears first for each field. It makes more sense as you’re adding fields to first select what type of field it is. This also simplifies the logic around displaying the other field properties like the default value, placeholder, etc. And that’s important because it makes it simpler to maintain and easier to add features later.
Once a field has been added and you close its panel or save your changes, the field type cannot be changed. This will prevent some quirky behavior and incomplete validation seen in the past. So, effectively, to change a field type after it’s been saved, you must delete it and add a new field.
And if you delete a field, any view with that field in its Client Section will display a red error message “not found” so you can see where to add the new field.
This process of changing fields may not be very frequent, especially after initially setting up your form, so I have not tried to build a more intelligent process that deftly converts one field to another on your form, in the views, and on the testimonials. Eventually, the plugin may do that.
This version also includes minor improvements to the template and slideshow CSS for some themes like Twenty Seventeen and adds more contextual help (the WordPress “Help” tab).