WordPress acf when save post

When I save the post It create one post with correct value and an other with no title and no value!

add_filter('acf/pre_save_post' , 'tsm_do_pre_save_post' );

function tsm_do_pre_save_post( $post_id ) {


        // Create a new post
        $post = array(
            'post_type'     => 'itemfounds', // Your post type ( post, page, custom post type )
            'post_status'   => 'draft', // (publish, draft, private, etc.)
            'post_title'    => 'Δωρεά σε είδος για το "'.get_the_title(wp_strip_all_tags( $_POST['acf']['field_5696694332974'] )).'"' , // Post Title ACF field key 
        );

    // insert the post
    $post_id = wp_insert_post( $post );

    session_start();

    $_SESSION['item_pid'] = $post_id;

    // Save the fields to the post
   // do_action( 'acf/save_post' , $post_id );


    return $post_id;

}

Related posts

1 comment

  1. You can use acf by this way:-

    $post_id (array) the ID of the post being saved

    BEFORE

    <?php
    
    function my_acf_save_post( $post_id ) {
    
        // bail early if no ACF data
        if( empty($_POST['acf']) ) {
    
            return;
    
        }
    
    
        // array of field values
        $fields = $_POST['acf'];
    
    
        // specific field value
        $field = $_POST['acf']['field_abc123'];
    
    }
    
    // run before ACF saves the $_POST['acf'] data
    add_action('acf/save_post', 'my_acf_save_post', 1);
    
    ?>
    

    AFTER

    <?php
    
    function my_acf_save_post( $post_id ) {
    
        // get new value
        $value = get_field('my_field');
    
    
        // do something
    
    }
    
    // run after ACF saves the $_POST['acf'] data
    add_action('acf/save_post', 'my_acf_save_post', 20);
    
    ?>
    

    Hope this will help you 🙂

Comments are closed.