function show_field_gallery($field, $metas, $single = false) { wp_enqueue_media(); if (empty($metas)) { $metas = ['']; } $idx = 0; $this->show_field_begin($field, $metas); $layout = (isset($field['layout']) && $field['layout']) != '' ? $field['layout'] : 'preview'; if ($layout == 'list') { foreach ((array) $metas as $meta) { echo "<table class=\"media aeria-media-gallery-" . $field['id'] . " item_" . $idx . "\" width=\"100%\"><tr><td><img id='" . $field['id'] . '_' . $idx . "_image' src='" . $meta . "'/>"; echo "</td><td><input type='text' name='" . $field['id'] . "[]' id='" . $field['id'] . '_' . $idx . "' value=\"" . html_addslashes($meta) . "\"/>"; echo "<a class='button button-primary data-type='list' aeria_upload_media_gallery_button' id='" . $field['id'] . "_button' data-target='#" . $field['id'] . '_' . $idx . "'>Select</a>"; echo "<a class='button button-secondary' onclick=\"jQuery('.aeria-media-gallery-" . $field['id'] . ".item_" . $idx . "').remove();\">Remove</a>"; echo "</td></tr></table>"; $idx++; } echo "<a class='button button-primary button-add' data-target='aeria-media-gallery-" . $field['id'] . "' onclick=\"var x=jQuery('.aeria-media-gallery-" . $field['id'] . " tr:eq(0)'),v=x.clone();v.find('input').val('');v.find('img').attr('src','');x.before(v);window.aeria_setup_media_gallery_fields();\"><b>+ Add Item</b></a>"; echo "<script>jQuery(function(){window.aeria_setup_media_gallery_fields();})</script>"; } if ($layout == 'preview') { if (!$single) { AeriaMetabox::add_script_sortable(); } if ($single) { $num_class = 'single'; } else { $num_class = 'multi'; } echo '<div class="aeria-media-gallery-' . $field['id'] . '">'; foreach ((array) $metas as $meta) { $media_id = AeriaMetabox::get_attachment_id_from_src($meta); if ($media_id) { $url_edit = 'post.php?post=' . $media_id . '&action=edit'; $meta_type = get_post_mime_type($media_id); $meta_title = get_the_title($media_id); } else { $url_edit = ''; $meta_type = ''; $meta_title = ''; } $background = ''; $class_background = 'file'; switch ($meta_type) { case 'image/jpeg': case 'image/png': case 'image/gif': $background = $meta; $class_background = 'image'; break; } $hidden_class = $meta == '' ? 'display:none;' : ''; echo '<div class="box-image item_' . $idx . '" style="' . $hidden_class . '">'; echo "<div class='image " . $num_class . " " . $class_background . "' style='background-image:url(" . $background . ");'>"; if ($class_background == 'file') { echo "<h4>" . (wp_trim_words($meta_title, 8) ?: '<i>Untitled</i>') . "</h4>"; } echo "</div>"; echo "<div class='box-controls'>\n\t\t\t\t\t\t<a class='button button-remove'><i class='glyphicon glyphicon-trash'></i></a>\n\t\t\t\t\t\t<a class='button button-edit' target='_blank' href='" . $url_edit . "'><i class='glyphicon glyphicon-pencil'></i></a>\n\t\t\t\t\t</div>"; echo "<input type='hidden' name='" . $field['id'] . "[]' value=\"" . html_addslashes($meta) . "\"/>"; echo '</div>'; $idx++; } echo "<a class='box-image add aeria_upload_media_gallery_button' data-meta_type='" . $class_background . "' data-num='" . $num_class . "' data-type='preview' data-target='aeria-media-gallery-" . $field['id'] . "'>"; if (!$single) { echo "<i class='glyphicon glyphicon-plus-sign'></i>"; } else { echo "<i class='glyphicon glyphicon-retweet'></i>"; } echo "</a>"; echo "<script>jQuery(function(){window.aeria_setup_media_gallery_fields();})</script>"; echo '</div>'; ?> <?php if (!$single) { ?> <script type="text/javascript"> jQuery(document).ready(function($){ $('.aeria-media-gallery-<?php echo $field['id']; ?> ').sortable(); }); </script> <?php } ?> <?php } $this->show_field_end($field, $metas); }