public function wp_generate_attachment_metadata($metadata, $attachment_id) { $attachment = get_attached_file($attachment_id); if (!preg_match('!^image/!', get_post_mime_type($attachment_id)) || !file_is_displayable_image($attachment)) { return $metadata; } $image_sizes = Helper::get_image_sizes(); foreach ($image_sizes as $size_name => $size_attributes) { if (!empty($metadata['sizes'][$size_name])) { continue; } $image = wp_get_image_editor($attachment); if (is_wp_error($image)) { continue; } $resized = $image->resize($size_attributes['width'], $size_attributes['height'], $size_attributes['crop']); $image_size = $image->get_size(); if (!is_wp_error($resized) && !empty($image_size)) { $filename = wp_basename($image->generate_filename()); $extension = pathinfo($filename, PATHINFO_EXTENSION); $mime_type = $this->get_mime_type($extension); $metadata['sizes'][$size_name] = array('file' => $filename, 'width' => $image_size['width'], 'height' => $image_size['height'], 'mime-type' => $mime_type); } } return $metadata; }
protected function create_image() { $attachment_id = attachment_url_to_postid($this->main_image_url); if (!$attachment_id) { die(__('Unknown attachment.', 'crb')); } $image_sizes = Helper::get_image_sizes(); $image_size_name = $this->find_attachment_image_size($attachment_id, $this->requested_image_width, $this->requested_image_height); if (empty($image_size_name) || empty($image_sizes[$image_size_name])) { die(__('Unknown image size.', 'crb')); } $image_details = Helper::get_image_src($attachment_id, $image_size_name); $this->new_image_url = $image_details['src']; $this->new_image_path = str_replace($this->upload_dir['baseurl'], $this->upload_dir['basedir'], $this->new_image_url); return $this; }
function crb_get_image_size_text($size_name = '') { return Helper::get_image_size_text($size_name); }