Since we never got a post written about the first beta version for this release, this covers 1.6.3 beta 1 and beta 2. You can download this version on the downloads page. The official release will be available via automatic update.
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!
Available CSS classes are shown in the screenshot above.
The option is located in the field options for each field.
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.
Input mask hook
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.

Custom display enhancements
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.
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”.
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.
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.
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]
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.

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
- 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
Can you elaborate on the custom display shortcode [ display-frm-data id=5 get="whatever" get_value="value"].
Is the get=”whatever” coming from a display that already has a parameter in it? (IE: ?team=stephanie) Is the get_value=”value” a value defined in the display?
Is it more like get=”field-key/field-id” and get_value=”yes”?
It doesn’t matter what value you use for get=”whatever”. This is a replacement for the line people have been using right before the custom display, in conjunction with a PHP plugin. So instead of adding <?php $_GET['whatever'] = ‘value’; ?> this can be done in the shortcode. Adding get=”whatever” get_value=”value” sets the $_GET['whatever'] parameter, so [get param=whatever] can be used in the where options of a custom display. Hopefully that’s a little more clear.