true, ) ); // actions if ( acf_is_screen( 'upload' ) ) { add_action( 'admin_footer', array( $this, 'admin_footer' ), 0 ); } } /* * admin_footer * * This function will add acf_form_data to the WP 4.0 attachment grid * * @type action (admin_footer) * @date 11/09/2014 * @since 5.0.0 * * @param n/a * @return n/a */ function admin_footer() { // render post data acf_form_data( array( 'screen' => 'attachment', 'post_id' => 0, ) ); ?> ID; $el = 'tr'; // get field groups $field_groups = acf_get_field_groups( array( 'attachment_id' => $post_id, 'attachment' => $post_id, // Leave for backwards compatibility ) ); // render if ( ! empty( $field_groups ) ) { // get acf_form_data ob_start(); acf_form_data( array( 'screen' => 'attachment', 'post_id' => $post_id, ) ); // open echo ''; // loop foreach ( $field_groups as $field_group ) { // load fields $fields = acf_get_fields( $field_group ); // override instruction placement for modal if ( ! $is_page ) { $field_group['instruction_placement'] = 'field'; } // render acf_render_fields( $fields, $post_id, $el, $field_group['instruction_placement'] ); } // close echo ''; $html = ob_get_contents(); ob_end_clean(); $form_fields['acf-form-data'] = array( 'label' => '', 'input' => 'html', 'html' => $html, ); } // return return $form_fields; } /* * save_attachment * * description * * @type function * @date 8/10/13 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function save_attachment( $post, $attachment ) { // bail early if not valid nonce if ( ! acf_verify_nonce( 'attachment' ) ) { return $post; } // bypass validation for ajax if ( acf_is_ajax( 'save-attachment-compat' ) ) { acf_save_post( $post['ID'] ); // validate and save } elseif ( acf_validate_save_post( true ) ) { acf_save_post( $post['ID'] ); } // return return $post; } } new acf_form_attachment(); endif; ?>