• Resolved nobbiexxx

    (@nobbiexxx)


    I have a large custom post with many custom fields.
    The front end form would be too big to be on one page so I want to split it into 3 different forms over 3 individual pages, how can I achieve that?

Viewing 2 replies - 1 through 2 (of 2 total)
  • laymonk

    (@laymonk)

    This is easy in ACF Pro, using tabs (field type). When you define a field type of ‘tab’ in ACF, it creates exactly that ( a new tab, or form section … exactly as you want). All the fields you want to be in that tab/section will need to go under the tab.

    So, in your case, your field ordering could look like:
    field-1: type=tab: (tab-1)
    – field-2
    – field-3
    – field-4
    – ….
    field-5: type=tab (tab-2)
    – field-6
    – field-7
    – field-8
    – ….
    field-9: type=tab (tab-3)
    – field-10
    – field-11
    – field-12
    – ….

    And of course, you can drag the fields around to position in the tabs you want. ACF tabs work at the backend, but ACF-E brings those tabs to the front-end using shortcodes to display them in any textarea field (even in page builders)

    ie, use ACF Pro to define your structure (including tab groups) when defining your field groups, and then use ACF-Extended forms to make those tabs work in the front-end.

    Read more about ACF tabs here: https://www.advancedcustomfields.com/resources/tab/

    • This reply was modified 4 years ago by laymonk.
    Plugin Author Konrad Chmielewski

    (@hwk-fr)

    Hello,

    Thanks for the feedback! As @laymonk pointed out, Tabs logic can be a solution here (quite interesting solution BTW, I didn’t think about it in the past lol). But if I recall correctly, Tabs work on front-end without ACF Extended, when using the native ACF Form feature (which is similar, but different to the ACF Extended Form feature).

    Other than the Tabs solution, fully compatible ACF Extended Form Multi-Step feature (with previous & next buttons) will come in a future patch. In the meantime, you can already chain Forms and display them in certain order. That will require to create different forms in the back-end, each one having their own field group & save logic, like this:

    Form 1 > Success Page 1 + Form 2 > Success Page 2 + Form 3 > Final Success Page

    Here is a usage example in the front-end:

    // Form 1
    if(!acfe_is_form_success()){
    
        acfe_form(array(
            'name' => 'my-form-1'
        ));
        
    // Success 1 + Form 2
    }elseif(acfe_is_form_success('my-form-1')){
    
        acfe_form(array(
            'name' => 'my-form-2'
        ));
    
    // Success 2 + Form 3
    }elseif(acfe_is_form_success('my-form-2')){
    
        acfe_form(array(
            'name' => 'my-form-3'
        ));
    
    // Success 3 (Final)
    }elseif(acfe_is_form_success('my-form-3')){
    
        echo '<h3>Success!</h3>';
    
    }
    

    Here is the complete documentation of the ACF Extended Form.

    Hope it helps!

    Have a nice day.

    Regards.

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘How can I create partial forms’ is closed to new replies.