Support

Account

Home Forums General Issues acf_form how to create two forms

Solved

acf_form how to create two forms

  • Hi Elliot,

    Is it possible to create two forms, one that creates a new post and the other to create a post with a custom post type?

    I’m guessing I need to pass something to the acf_form when I call it in the template to say I want a post_type => post or post_type => my_custom_post_type

    Is this possible?

    Thanks!

    Mike

  • Hi @planktonwebdesign

    Yes.

    The acf_form function allows you to define some custom HTML. Please see the docs to read more on this.

    I would add some custom HTML as a hidden input with a name of ‘my_post_type’. Please don’t use ‘post_type’ – this will conflict with WP.

    Then in your acf/pre_save_post filter, you can create a new post and use the ‘my_post_type’ value in the $_POST to set the post type.

    Hope that helps.

    Thanks
    E

  • Awesome thanks heaps Elliot.

    Managed to get it happening code below for anyone else:

    In my template file

    <?php 
      $args = array(
       'post_id' => 'new',
       'field_groups' => array(56,127),
       'html_before_fields' => '<input type="hidden" name="the_post_type" value="this is where you pop the post type or just post"/>'
    );
    
    acf_form( $args ); 
     
    ?> 

    and in the functions.php

    function my_pre_save_post( $post_id )
    {
        // check if this is to be a new post
        if( $post_id != 'new' )
        {
            return $post_id;
        }
     
        // Create a new post
        $post = array(
            'post_status'  => 'publish' ,
            'post_title'  => $_POST["fields"]['field_529c0886500bd'],
            'post_type'  => $_POST['the_post_type']
        );  
     
         $post_id = wp_insert_post( $post ); // Insert the post
        do_action( 'acf/save_post' , $post_id ); // Save the fields to the post
        wp_redirect( add_query_arg( 'updated', 'true', get_permalink( $post_id ) ) ); exit; // Redirect to the new post
        return $post_id;
        
       
    }
Viewing 3 posts - 1 through 3 (of 3 total)

The topic ‘acf_form how to create two forms’ is closed to new replies.