Last active
October 11, 2018 19:29
-
-
Save joshuadavidnelson/acfed1e71a9c69166e77a0c7799af6b6 to your computer and use it in GitHub Desktop.
Code for comment at https://joshuadnelson.com/connect-gravity-forms-file-upload-to-acf-gallery-field/#comment-13186
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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, [email protected] | |
*/ | |
$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