Another batch of highly requested features and enhancements have been completed. Better optimization and increased security is also included.
Important: Several unnecessary files have been removed from this version. This includes an Open Flash chart file that was found to have security vulnerabilities. If you update manually, be sure the delete the entire plugin folder before uploading the new one. Updating automatically will remove the old files without any extra effort on your part.
CSS Classes
Easier form formatting has been added. Simply open the field options, add one of our predefined classes, and no more messing with the customizable HTML unless you want to.
A two-column form is simple. Add a section heading field to your form, and give it a "frm_first_half" class. If you don't want to see the heading, set the label position to "none". This creates column one. Add a second section heading to mark the start of column two, and give it a "frm_last_half" class. That's it!
Or if you only want to have two fields on the same row, you don't need any additional section headings (unless you want them). You can give the first field the "frm_first_half" class, and the second field the "frm_last_half" class. Save your form and you're done.
You can also see some of these classes in use in the updated form templates. For best results, existing users may want to go to the Formidable styling settings page, and change the default field width to 100%. This will make your forms scale better for mobile devices.
Add a class on the input
Custom code is no longer needed to add a new class directly on the input in the HTML. In the customizable HTML, change [input] to [input class="your_class_here class2"]. Add a space-separated list of any classes you would like to add.
Other styling/formatting options
There is an added "Inline" option to the label position dropdown in the field options. This allows for a left-aligned label without the width restriction. This allows for a field with a long label to not be restricted by the label width set in the global styling options.
Added an input mask option available via the $frm_input_masks global and 'frm_input_masks' hook. This forces a specific format in a field like a social security number. There are many ways this can be utilized, but here's one example that can be added to a new plugin or your theme functions.php:
//format field #25 as a Social Security number add_action('frm_field_input_html', 'add_input_html'); function add_input_html($field){ if($field['id'] == 25){ //change 25 to the ID of your field global $frm_input_masks; $frm_input_masks[$field['id']] = "999-999-9999"; } }
Editable Admin Panels
The forms, entries, and custom display page columns shown and entries per page are now customizable for those running at least v3.1 of WordPress. Use the "Screen options" section at the very top of the page to customize which columns are shown.
Use a separate label and value
Radio, checkbox, and dropdown fields can now use two separate values: one for show, and one to save. This makes calculations easier if you don't want the number to show on the page. You can add the value for the calculation as the value, and leave your label the way you want your users to see it.
Custom display enhancements
Added Security. For extra security and to more easily allow multiple custom displays per page, if a custom display has detail link parameters defined, ONLY those parameters will be allowed. Also, if a custom display for a post type is inserted on a page, the link will redirect to the single post page if accessed with the regular detail link. For example, our topic notification emails in the help desk contained a link to help-desk?topic=4568fj. This now redirects to the single post page.
Limit with dynamic dates. There are many times when custom displays need to be limited by dynamic dates instead of hardcoded ones. This is now possible without the addition of custom code. In addition to accepting "NOW" to only show entries with dates that are greater or less than the current date, PHP dates are now also accepted like "-1 month".
Added shortcode options. The custom display shortcode has new options that allow a way to set some where options.
[display-frm-data id=5 get="whatever" get_value="value"]
This allows for the use of [get param="whatever"] in a "where" row of the custom display to limit which entries are shown.
More accurate automatic placement. Automatically inserted custom displays are also now going through an extra check to make sure it is in "the loop" to avoid the need for adjusting the insert position setting. This helps to ensure your custom displays will always show on your page when they should.
More content control.
- Dates can be displayed in terms of how long ago it was, instead of displaying the date. Use time_ago=1 to trigger this option. Example: [created-at time_ago=1] or [25 time_ago=1]
- Conditional custom display statements will evaluate not_like, less_than, and greater_than options. For example: [if 25 not_like="hello"]This will show if "hello" is not included in field #25[/if 25]
Or for created-at, updated-at, or date fields, you can use dynamic date options like [if created-at less_than='-1 month'] - The auto paragraphs that are added to paragraph field types can be turned off individually without custom code. Example: [25 wpautop=0]
- Field labels can be shown dynamically in your custom display. Example: [25 show="field_label"]
- If the where options in a custom display use a GET or POST value (ie [get param=something]), and this value is an array, the search will check for each value instead of searching for a comma-separated value in a single entry. So it will check for the values of 'red' or 'blue' or 'yellow' instead of 'red,blue,yellow.'
Calendar Enhancements. Month and year dropdowns have been added to custom display calendar for easier navigation through months and years. The calendar styling has also been improved. The month and day names are now being pulled from WordPress to avoid a little bit of extra translation, making the calendar more useful out-of-the-box for multilingual users. You can see a calendar demo here.
Google charts added
The current flash charts just aren't enough for everyone, especially since they don't show on many mobile devices. Although not as pretty, Google charts are available for all charts, and will be used automatically as a fallback on mobile devices. Use Google charts all the time by adding google=1 to your frm-graph shortcode.
[frm-graph id=x type=bar google=1]
Form results shortcode enhancements
The formresults shortcode is useful, but many people couldn't use it simply because they also needed an edit link. Now, that has been enabled. edit_link is the name of the link, and page_id is the page the link should go to. You can include the form on the same page as well, and the link will shift the screen to your form.
[formresults id=x edit_link="Edit" page_id=5]
Google tables support has been added to the [formresults] shortcode as well. This table includes pagination and sorting options. It defaults to include sorting and to show 20 entries per page. Change the number of entries per page with pagesize=40, and turn off sorting with sort=0.
[formresults id=x google=1 pagesize=20]
Here's a little Google table example at the bottom of the demo page.
Use dynamic default values for all fields
There is an added option in the field options for radio, checkbox, dropdown, and data from entries fields to set a dynamic default value. The value still must be available in the options for that field.
Other notable enhancements
- Removed a vulnerable Open Flash Charts file. If you do not update, be sure to REMOVE THIS FILE! (pro/js/ofc-library/ofc_upload_image.php)
- The built-in calculations support simple date calculations like [date1]-[date2] to get the number of days between the two dates
- Option to not store entries in the database from a specific form
- Option to Skip Akismet spam check for logged in users
- Updated the time field to use a true select box instead of a text field. This makes the field more seamless with your form styling and on mobile devices.
- Allow dynamic default values in the HTML field type. This will still only display values and will not be saved with the entries.
- Added HTML classes on the search form, so if themes include styling for the WP search form, it will be applied to the [frm-search] as well
- Updated the frm-entry-links shortcode to use show_delete with type=list instead of only showing delete links with type=select
- Added timeout to redirect so users will see the redirect message for a few seconds before being redirected
- Check the default [auto_id] value after submit to make sure it's still unique
- Allow user logins for the user_id parameter in the frm-graph, frm-stats, and display-frm-data shortcodes instead of limiting to only user ID
- Updated file upload process to change the file path before uploading instead of moving the files afterwards
- Added 'frm_graph_value' filters to change the value used in the graphs
- Added type=maximum and type=minimum to the frm-stats shortcode
To update, visit the plugins page in your WordPress admin for automatic update or follow the manual install instructions.
vfontjr says
That's an amazing amount of work for a point release. Thank you. For some reason, the upgrade required me to install the update twice on each site I am running Formidable Pro.
Steve says
Interesting, we haven't gotten any other reports of this, but we will look into it. 1.6.3 did get a bit bigger than originally planned, but don't worry, we have plenty of awesome things in store for 1.6.4 and 1.7
dss_interactive says
Wow! I just dove into Formidable Pro after much use of Gravity Forms. I remain a fan of GF as well and intend to maintain my chops there, but I am blown away by the data management and data visualization power of FP. I'm just beginning my learning curve with FP. It's a bit steeper than GF's, but that's to be expected with the additional horsepower! Thanks for helping me up my game in Wordpress! Joe Whelchel, DSS Interactive
Mark Alan Effinger says
Awesome, Steph and Steve.
You folks are like, the Rock Stars of Wordpress Forms technology.
Can't wait to play with the new features.
BTW: We're using FormindablePro for a complex multi-part personal health evaluation form on http://www.WebNutrients.com - totally rocks.
In this one, we integrated FormidablePro on OptimizePress. We're cloning it for Pagelines PlatformPro this weekend as well. (And BTW: The girl who created the form had never seen FormidablePro before. Handled the whole 5-page form in less than an hour. A tribute to your ease-of-use).
As always, your biggest fan,
ME
Dragonblogger says
Ridiculously awesome, I was just working with a client and about to open a case on why I couldn't make separate value than label for radio buttons when voila I updated their Formidable Pro and the feature was now included. Very happy, I just have one other issue I am trying to resolve with the email formatting of form submissions.