function acf_get_image_sizes() { // vars $sizes = array('thumbnail' => __("Thumbnail", 'acf'), 'medium' => __("Medium", 'acf'), 'large' => __("Large", 'acf')); // find all sizes $all_sizes = get_intermediate_image_sizes(); // add extra registered sizes if (!empty($all_sizes)) { foreach ($all_sizes as $size) { // bail early if already in array if (isset($sizes[$size])) { continue; } // append to array $label = str_replace('-', ' ', $size); $label = ucwords($label); $sizes[$size] = $label; } } // add sizes foreach (array_keys($sizes) as $s) { // vars $data = acf_get_image_size($s); // append if ($data['width'] && $data['height']) { $sizes[$s] .= ' (' . $data['width'] . ' x ' . $data['height'] . ')'; } } // add full end $sizes['full'] = __("Full Size", 'acf'); // filter for 3rd party customization $sizes = apply_filters('acf/get_image_sizes', $sizes); // return return $sizes; }
function render_field($field) { // vars $uploader = acf_get_setting('uploader'); // enqueue if ($uploader == 'wp') { acf_enqueue_uploader(); } // vars $url = ''; $alt = ''; $div = array('class' => 'acf-image-uploader acf-cf', 'data-preview_size' => $field['preview_size'], 'data-library' => $field['library'], 'data-mime_types' => $field['mime_types'], 'data-uploader' => $uploader); // has value? if ($field['value']) { // update vars $url = wp_get_attachment_image_src($field['value'], $field['preview_size']); $alt = get_post_meta($field['value'], '_wp_attachment_image_alt', true); // url exists if ($url) { $url = $url[0]; } // url exists if ($url) { $div['class'] .= ' has-value'; } } // get size of preview value $size = acf_get_image_size($field['preview_size']); ?> <div <?php acf_esc_attr_e($div); ?> > <div class="acf-hidden"> <?php acf_hidden_input(array('name' => $field['name'], 'value' => $field['value'])); ?> </div> <div class="view show-if-value acf-soh" <?php if ($size['width']) { echo 'style="max-width: ' . $size['width'] . 'px"'; } ?> > <img data-name="image" src="<?php echo $url; ?> " alt="<?php echo $alt; ?> "/> <ul class="acf-hl acf-soh-target"> <?php if ($uploader != 'basic') { ?> <li><a class="acf-icon -pencil dark" data-name="edit" href="#" title="<?php _e('Edit', 'acf'); ?> "></a></li> <?php } ?> <li><a class="acf-icon -cancel dark" data-name="remove" href="#" title="<?php _e('Remove', 'acf'); ?> "></a></li> </ul> </div> <div class="view hide-if-value"> <?php if ($uploader == 'basic') { ?> <?php if ($field['value'] && !is_numeric($field['value'])) { ?> <div class="acf-error-message"><p><?php echo $field['value']; ?> </p></div> <?php } ?> <input type="file" name="<?php echo $field['name']; ?> " id="<?php echo $field['id']; ?> " /> <?php } else { ?> <p style="margin:0;"><?php _e('No image selected', 'acf'); ?> <a data-name="add" class="acf-button button" href="#"><?php _e('Add Image', 'acf'); ?> </a></p> <?php } ?> </div> </div> <?php }