Product Support

Field Group Tabs

Adds a tabbed interface to forms and single record displays. If you have a large number of fields, this plugin is essential!

This plugin requires the use of a special template for the Single, Signup, and Record shortcodes. If you are using a default template, the plugin does that for you when you place the tabs=true attribute into the shortcode as explained in the instructions.

If you are using a custom template, you must modify that template to use the tabbed interface. It’s not difficult, there is a tutorial for making those alterations here:

Using Field Group Tabs with a Custom Template

Product Setup

Once the add-on is activated, you will need to enable the interface in your shortcode by adding the “tabs” attribute like this:

[pdb_signup tabs="true"]

The tabbed interface is available to the signup form, the record edit form, and the single record display. The tabbed interface is also optionally active in the admin on the single record edit page. There is a checkbox in the settings to enable this.

The single record shortcode has two templates you can use: the default and “bootstrap.” To use the bootstrap template with tabs, use a shortcode like this:

[pdb_single template=bootstrap-tabs tabs=true]

To add the tabs to the editable record, do the same to the pdb_record shortcode:

[pdb_record tabs="true"]

Product Settings

Tabs CSS

This is where the appearance of the tab interface is defined. If your theme has CSS support for jQuery UI Tabs, you can probably delete all or most of these rules and the tabs will match the theme of your site. Otherwise, you can use the rules in this setting to adjust the appearance to your needs. You are provided with a default CSS rule set to begin with.

Tab Content Height Mode

Determines how the height of the tab content is determined. You may need to just experiment with this setting to find the one that works best for your situation.

Tab Change Speed

Allows you to set the “cross-fade” time for the tab content to be shown.

Step Through Tabs in Signup Form

Step Through Tabs in Record Edit Form

When Field Group Tabs is used with a record edit or signup form, the user is presented with a “Next” button, which takes them to the next tab until the last tab is reached. At this point, the form may be submitted. Note there is no guarantee the user will visit every tab, but if you have required fields, the user will be forced to complete them. If this is unchecked, every tab in the form will have a “Submit” button.

Tabs in Admin

Enables the tabbed interface for the New Record/Record Edit page in the admin.


Can I use Field Group Tabs with a custom template?

Yes, you’ll need to alter your custom template to include the tabs HTML and code.

This is explained in this article: Using Field Group Tabs with a Custom Template

Why doesn't the HTML5 validation work in my tabbed form?

HTML5 client-side validation is provided by the user’s browser, and so a developer has limited control over how it behaves. The type of validation is convenient for small forms, but it can’t handle a situation where the field that needs correcting is not visible.

A Participants Database form that is using Field Group Tabs works by putting all the form fields on the page, and then hiding all of the groups except for the currently selected one.

When HTML5 client-side validation is used, the browser normally shows a text balloon pointing to the field the needs correcting. If that field is in a hidden group, the browser doesn’t know where to put it, so it either does not appear or is shown in the upper right corner of the browser window.

This is a confusing situation for users, so Field Group Tabs disables the HTML5 validation that is provided by the HTML5 Elements Add-On.

Support Discussions for Field Group Tabs

  • Hello, in the console I have an error:
    ReferenceError: jQuery is not defined
    The tabs are not showing, any idea how to solve it …

    • my guess is that you are using some kind of accelerator plugin or theme that optimizes javascript. This can cause problems because the scripts are not loaded in the correct order.

  • I have a custom WP theme template that I use to dynamically show a user record like this :

    echo do_shortcode('[pdb_record template=tabs-bootstrap tabs=true record_id=' . $record_id); 

    This shortcode works fine if I insert it directly into the page with a fixed record_id but when I’m calling it from the template it shows Next instead of Save, so I have to go to the last tab to be able to save the record.
    I tried adding this code for this specific page ID 16 in functions.php but no luck :

    add_action( 'wp', function (){
      global $post;
      if ( $post->ID == '16' ) {
        add_filter( 'pdb-shortcode_in_content', function ($in_content) { 
          return true;
        } );
    }, -10 ); 

    Any idea?

    • Try using code like this:

      <?php add_filter( ‘pdb-shortcode_in_content’, function ($in_content, $post) {
        if ( $post->ID == ‘113’ ) {
          $in_content = true;
        return $in_content;
      }, 10, 2); ?>

      • Thanks but I get this error in functions.php or in a plugin :

        Your PHP code changes were rolled back due to an error on line 0 of file Unknown. Please fix and try saving again.

        Exception thrown without a stack frame

        It’s weird because it does save the first time but not if I change to another post id

        • If I don’t try to use the Plugin editor and just insert it into a plugin over FTP, I can see that it goes into your function for my post id (I write to a log to see it goes into the if) but it doesn’t fix the issue unfortunately.

        • Well, I don’t know what to say, it’s working for me…I tested the specific thing you’re doing. If the filter is working, it makes sure the JS is loaded so the step-through-tabs work. You may be getting a js error, or page caching is causing problems.

        • Sounds like a syntax error of some kind, hard to say, but this is working tested code on my system in the theme functions.php.

        • Well if that’s working on your site with that set up :
          – your snippet code in functions.php
          – WP template calling
          do_shortcode('[pdb_record template=bootstrap-tabs tabs=true record_id=' . $record_id . ' groups="user_info,personal,subscriber,buyer,seller,agent"]');

          Then I’ll just keep digging

        • The tabs are working fine, it’s just the button at the bottom that shows Next instead of Save only when it’s called from the template.

        • Do you have “Step Through Tabs” enabled? Turn that off if you don’t need it.

        • However, that is a symptom of the JS not getting loaded, so that suggests the “shortcode present” code isn’t working.

        • Yes step through is disabled that’s why I do have the save button when the shortcode is in the page.
          I’ll try to find a JS expert to debug that issue thanks

        • By the way I do get the Save button if I also disable the step thru tabs for signups. I’ll have to disable this great functionality for signups until I fix the issue.
          What’s funny is that I also use pdb_log_list inside a pdb_single template to show list of entries inside of tabs.
          It was not showing the pagination properly but adding your snippet fixed that.
          The only difference is that pdb_log_list is called inside the custom pdb_single template where as the buggy pdb_record is called from a custom WP template.

        • I have found that using a record shortcode template to call another record shortcode breaks the participant log field by duplicating the interaction forms. I’ve got a fix in the works, will post an update to the Participant Log plugin later today.

  • Hi Roland,
    This plugin is awesome thanks!
    Just wanting to warn you of a slight “bug” when I force the user to view each tab before submitting and when only one group is shown -> I only get a Next button so I cannot submit the form.
    Yes of course why would I activate tabs if I only have one group to show huh? =)
    I might create dynamic shortcodes to display groups or not depending on the context but anyway I love that plugin so in all contexts I’ll have at least 2 of them displayed so don’t bother fixing if it’s too complicated.

    • Thanks for letting me know about this bug…yes, it should work even with only one group!

  • The tabs stopped working in admin. Instead of tabs I only see the links to the groups on top.
    They worked before. Any idea? version 5.6 of wordpress installed

    • The usual reason for this is another plugin that is loading conflicting javascript on the page. Any new or recently updated plugins should be checked to see if they’re causing the problem.

      • Yes, you are right. It’s Real Media Library from
        Do you see a chance to solve this?
        Unfortunately it’s not an option to diasable this plugin.

        • It depends on the exact nature of the problem, but if that plugin is loading conflicting javascript on a page that does not need it, it should be the responsibility of the developer of the misbehaving plugin to fix it. I take steps to make sure my plugins don’t load javascript on pages where it is not needed.

  • Hi, I have installed your plugin and updated the shortcode but it doesn’t seem to cause any effect on the web, I use the EmpowerWP theme. The Single page has not been modified.

    • What is the shortcode you are using? Can you provide a link to the page?

      • [pdb_single tabs="true" template=default]


        • OK, what I see is that either a plugin or your theme is altering the HTML, preventing the tabs from getting set up. If you look at the HTML of your page, you’ll see that text strings are wrapped in a “font” tag. This is causing problems….and honestly it doesn’t do anything, the “font” tag is not valid in HTML5, and your pages are HTML5.

        • Any ideas how to avoid or remove those font tags?

        • Start by disabling plugins to find the one that is doing it. If it’s not a plugin, it’s the theme, go to the theme support and ask about it.

        • It is the theme, I have changed to another and now if the tabs turn out well.

          Thanks a lot

  • Sorry, too quick, try again: Hi, I want to combine the “Participants Database User Profile” addon and this field group tabs addon in order to show a profile edit page like this: [pdb_user_profile template=bootstrap-tabs tabs=true] or [pdb_user_profile tabs=true], but these combinations don’t work. It doesn’t show a tabbed profile edit page. Can you help?

Leave a Reply to Pierre Biais Cancel reply

You have to agree to the comment policy.

Would you like to be notified of followup comments via e-mail? You can also subscribe without commenting.