Support

Account

Home Forums Reply To:

  • I am using acf_form() front end for my task and I have to rename files after saving the page with a prefix name, which is according to its field. So the $newfilename has now prefix ‘1_1’ and I am pulling my head for days to get prefix ‘2_1’ for group 2, too. I have been trying many ways but the file name will be the same prefix for group1 and group 2. (obviously in this code)

    I was thinking to add prefix name to Wrapper Attributes of add file 1 (type repeater) and add file 2 (type repeater), but I cannot get it works. Does someone have any idea to solve the problem? Thanks

    This my my ACF structure:

    group1 (type group)
    –add file 1 (type repeater)
    —-add a new file ( type file) // Prefix name should be 1_1_file_name
    group2 (type group)
    –add file 2 (type repeater)
    —-add a new file ( type file) // Prefix name should be 2_1_file_name
    This is my code:

    function rename_filename( $post_id ) {

    $arg = array(
    ‘post_type’ => ‘attachment’,
    ‘post_id’ => $post_id,
    );

    $getPost = get_posts($arg);

    foreach ($getPost as $key => $value) {

    $attachmentID = $value->ID;
    $file = get_attached_file($attachmentID);
    $path = pathinfo($file);
    //dirname = File Path
    //basename = Filename.Extension
    //extension = Extension
    //filename = Filename

    $newfilename = ‘1_1_’.$value->post_name;

    $newfile = $path[‘dirname’].”/”.$newfilename.”.”.$path[‘extension’];

    update_attached_file( $attachmentID, $newfile );

    $attachmentAgrs = array(
    ‘ID’ => $attachmentID,
    ‘post_title’ => $newfilename,
    ‘guid’ => wp_upload_dir()[‘url’].’/’.$newfilename.’.’.$path[‘extension’],
    );

    wp_update_post( $attachmentAgrs );

    }
    }
    add_action( ‘acf/save_post’, array($this, ‘rename_filename’), 12, 1 );