Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
<?php
/**
* Associate an uploaded file with a post on form submission in Gravity Forms
*
* This is specific to a comment on my post about connecting GF with ACF
*
* @see https://joshuadnelson.com/connect-gravity-forms-file-upload-to-acf-gallery-field/#comment-13186
* @author Joshua David Nelson, josh@joshuadnelson.com
*/
$gravity_form_id = 1; // gravity form id, or replace {$gravity_form_id} below with this number
add_filter( "gform_after_submission_{$gravity_form_id}", 'jdn_add_file_to_post', 10, 2 );
function jdn_add_file_to_post( $entry, $form ) {
// Assumes you're creating a post on form submissions, needs the post id from the form submission
// If you're not doing this, remove this check and replace the $post->ID below with the post's id
// (or remove it to not associate the media file with a post)_
if( isset( $entry['post_id'] ) ) {
$post = get_post( $entry['post_id'] );
if( is_null( $post ) )
return;
} else {
return;
}
$gf_upload_field_id = 7; // the upload field id
// Make sure we have a value for the field id
if( isset( $entry[ $gf_upload_field_id ] ) ) {
$file_url = esc_url( $entry[ $gf_upload_field_id ] );
if( $file_url ) {
$media_file = new JDN_Create_Media_File( $file_url, $post->ID ); // needs a post id to attach it to a post
update_post_meta( $post->ID, 'featured_pdf', $media_file->attachment_id ); // add the pdf to the post via a custom meta
}
}
}
// Access the pdf elsewhere
$pdf_id = get_post_meta( $post_id, 'featured_pdf', true);
$pdf_url = wp_get_attachment_url( $pdf_id );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.