Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
advanced-custom-fields
/
includes
/
forms
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php if (!class_exists('acf_form_attachment')) { class acf_form_attachment { function __construct() { add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts')); add_filter('attachment_fields_to_edit', array($this, 'edit_attachment'), 10, 2); add_filter('attachment_fields_to_save', array($this, 'save_attachment'), 10, 2); } function admin_enqueue_scripts() { if (!acf_is_screen(array('attachment', 'upload'))) { return; } acf_enqueue_scripts(array('uploader' => true)); if (acf_is_screen('upload')) { add_action('admin_footer', array($this, 'admin_footer'), 0); } } function admin_footer() { acf_form_data(array('screen' => 'attachment', 'post_id' => 0)); ?> <script type="text/javascript"> // WP saves attachment on any input change, so unload is not needed acf.unload.active = 0; </script> <?php } function edit_attachment($form_fields, $post) { $is_page = acf_is_screen('attachment'); $post_id = $post->ID; $el = 'tr'; $field_groups = acf_get_field_groups(array('attachment_id' => $post_id, 'attachment' => $post_id)); if (!empty($field_groups)) { ob_start(); acf_form_data(array('screen' => 'attachment', 'post_id' => $post_id)); echo '</td></tr>'; foreach ($field_groups as $field_group) { $fields = acf_get_fields($field_group); if (!$is_page) { $field_group['instruction_placement'] = 'field'; } acf_render_fields($fields, $post_id, $el, $field_group['instruction_placement']); } echo '<tr class="compat-field-acf-blank"><td>'; $html = ob_get_contents(); ob_end_clean(); $form_fields['acf-form-data'] = array('label' => '', 'input' => 'html', 'html' => $html); } return $form_fields; } function save_attachment($post, $attachment) { if (!acf_verify_nonce('attachment')) { return $post; } if (acf_is_ajax('save-attachment-compat')) { acf_save_post($post['ID']); } elseif (acf_validate_save_post(true)) { acf_save_post($post['ID']); } return $post; } } new acf_form_attachment(); }