function wpb_getImageBySize( $params = array( 'post_id' => NULL, 'attach_id' => NULL, 'thumb_size' => 'thumbnail', 'class' => '' ) ) { //array( 'post_id' => $post_id, 'thumb_size' => $grid_thumb_size ) if ( ( ! isset( $params['attach_id'] ) || $params['attach_id'] == NULL ) && ( ! isset( $params['post_id'] ) || $params['post_id'] == NULL ) ) return; $post_id = isset( $params['post_id'] ) ? $params['post_id'] : 0; if ( $post_id ) $attach_id = get_post_thumbnail_id( $post_id ); else $attach_id = $params['attach_id']; $thumb_size = $params['thumb_size']; $thumb_class = ( isset( $params['class'] ) && $params['class'] != '' ) ? $params['class'] . ' ' : ''; global $_wp_additional_image_sizes; $thumbnail = ''; if ( is_string( $thumb_size ) && ( ( ! empty( $_wp_additional_image_sizes[$thumb_size] ) && is_array( $_wp_additional_image_sizes[$thumb_size] ) ) || in_array( $thumb_size, array( 'thumbnail', 'thumb', 'medium', 'large', 'full' ) ) ) ) { //$thumbnail = get_the_post_thumbnail( $post_id, $thumb_size ); $thumbnail = wp_get_attachment_image( $attach_id, $thumb_size, false, array( 'class' => $thumb_class . 'attachment-' . $thumb_size ) ); // TODO: APPLY FILTER } elseif ( $attach_id ) { if ( is_string( $thumb_size ) ) { preg_match_all( '/\d+/', $thumb_size, $thumb_matches ); if ( isset( $thumb_matches[0] ) ) { $thumb_size = array(); if ( count( $thumb_matches[0] ) > 1 ) { $thumb_size[] = $thumb_matches[0][0]; // width $thumb_size[] = $thumb_matches[0][1]; // height } elseif ( count( $thumb_matches[0] ) > 0 && count( $thumb_matches[0] ) < 2 ) { $thumb_size[] = $thumb_matches[0][0]; // width $thumb_size[] = $thumb_matches[0][0]; // height } else { $thumb_size = false; } } } if ( is_array( $thumb_size ) ) { // Resize image to custom size $p_img = wpb_resize( $attach_id, null, $thumb_size[0], $thumb_size[1], true ); $alt = trim( strip_tags( get_post_meta( $attach_id, '_wp_attachment_image_alt', true ) ) ); if ( empty( $alt ) ) { $attachment = get_post( $attach_id ); $alt = trim( strip_tags( $attachment->post_excerpt ) ); // If not, Use the Caption } if ( empty( $alt ) ) $alt = trim( strip_tags( $attachment->post_title ) ); // Finally, use the title if ( $p_img ) { $img_class = ''; //if ( $grid_layout == 'thumbnail' ) $img_class = ' no_bottom_margin'; class="'.$img_class.'" $thumbnail = '<img class="' . $thumb_class . '" src="' . $p_img['url'] . '" width="' . $p_img['width'] . '" height="' . $p_img['height'] . '" alt="' . $alt . '" />'; //TODO: APPLY FILTER } } } $p_img_large = wp_get_attachment_image_src( $attach_id, 'large' ); return array( 'thumbnail' => $thumbnail, 'p_img_large' => $p_img_large ); }
function wpb_getImageBySize($params = array('post_id' => NULL, 'attach_id' => NULL, 'thumb_size' => 'thumbnail')) { //array( 'post_id' => $post_id, 'thumb_size' => $grid_thumb_size ) if ((!isset($params['attach_id']) || $params['attach_id'] == NULL) && (!isset($params['post_id']) || $params['post_id'] == NULL)) { return; } $post_id = isset($params['post_id']) ? $params['post_id'] : 0; if ($post_id) { $attach_id = get_post_thumbnail_id($post_id); } else { $attach_id = $params['attach_id']; } $thumb_size = $params['thumb_size']; global $_wp_additional_image_sizes; $thumbnail = ''; if (is_string($thumb_size) && (!empty($_wp_additional_image_sizes[$thumb_size]) && is_array($_wp_additional_image_sizes[$thumb_size]) || in_array($thumb_size, array('thumbnail', 'thumb', 'medium', 'large', 'full')))) { //$thumbnail = get_the_post_thumbnail( $post_id, $thumb_size ); $thumbnail = wp_get_attachment_image($attach_id, $thumb_size); //TODO APPLY FILTER } if ($thumbnail == '' && $attach_id) { if (is_string($thumb_size)) { $thumb_size = str_replace(array('px', ' ', '*', '×'), array('', '', 'x', 'x'), $thumb_size); $thumb_size = explode("x", $thumb_size); } // Resize image to custom size $p_img = wpb_resize($attach_id, null, $thumb_size[0], $thumb_size[1], true); $alt = trim(strip_tags(get_post_meta($attach_id, '_wp_attachment_image_alt', true))); if (empty($alt)) { $attachment = get_post($attach_id); $alt = trim(strip_tags($attachment->post_excerpt)); // If not, Use the Caption } if (empty($alt)) { $alt = trim(strip_tags($attachment->post_title)); } // Finally, use the title /*if ( wpb_debug() ) { var_dump($p_img); }*/ if ($p_img) { $img_class = ''; //if ( $grid_layout == 'thumbnail' ) $img_class = ' no_bottom_margin'; class="'.$img_class.'" $thumbnail = '<img src="' . $p_img['url'] . '" width="' . $p_img['width'] . '" height="' . $p_img['height'] . '" alt="' . $alt . '" />'; //TODO: APPLY FILTER } } $p_img_large = wp_get_attachment_image_src($attach_id, 'large'); return array('thumbnail' => $thumbnail, 'p_img_large' => $p_img_large); }
/** * @param array $params * * @since 4.2 * vc_filter: vc_wpb_getimagesize - to override output of this function * @return array|bool */ function wpb_getImageBySize($params = array()) { $params = array_merge(array('post_id' => null, 'attach_id' => null, 'thumb_size' => 'thumbnail', 'class' => ''), $params); if (!$params['thumb_size']) { $params['thumb_size'] = 'thumbnail'; } if (!$params['attach_id'] && !$params['post_id']) { return false; } $post_id = $params['post_id']; $attach_id = $post_id ? get_post_thumbnail_id($post_id) : $params['attach_id']; $attach_id = apply_filters('vc_object_id', $attach_id); $thumb_size = $params['thumb_size']; $thumb_class = isset($params['class']) && '' !== $params['class'] ? $params['class'] . ' ' : ''; global $_wp_additional_image_sizes; $thumbnail = ''; if (is_string($thumb_size) && (!empty($_wp_additional_image_sizes[$thumb_size]) && is_array($_wp_additional_image_sizes[$thumb_size]) || in_array($thumb_size, array('thumbnail', 'thumb', 'medium', 'large', 'full')))) { $attributes = array('class' => $thumb_class . 'attachment-' . $thumb_size); $thumbnail = wp_get_attachment_image($attach_id, $thumb_size, false, $attributes); } elseif ($attach_id) { if (is_string($thumb_size)) { preg_match_all('/\\d+/', $thumb_size, $thumb_matches); if (isset($thumb_matches[0])) { $thumb_size = array(); if (count($thumb_matches[0]) > 1) { $thumb_size[] = $thumb_matches[0][0]; // width $thumb_size[] = $thumb_matches[0][1]; // height } elseif (count($thumb_matches[0]) > 0 && count($thumb_matches[0]) < 2) { $thumb_size[] = $thumb_matches[0][0]; // width $thumb_size[] = $thumb_matches[0][0]; // height } else { $thumb_size = false; } } } if (is_array($thumb_size)) { // Resize image to custom size $p_img = wpb_resize($attach_id, null, $thumb_size[0], $thumb_size[1], true); $alt = trim(strip_tags(get_post_meta($attach_id, '_wp_attachment_image_alt', true))); $attachment = get_post($attach_id); if (!empty($attachment)) { $title = trim(strip_tags($attachment->post_title)); if (empty($alt)) { $alt = trim(strip_tags($attachment->post_excerpt)); // If not, Use the Caption } if (empty($alt)) { $alt = $title; } // Finally, use the title if ($p_img) { $attributes = vc_stringify_attributes(array('class' => $thumb_class, 'src' => $p_img['url'], 'width' => $p_img['width'], 'height' => $p_img['height'], 'alt' => $alt, 'title' => $title)); $thumbnail = '<img ' . $attributes . ' />'; } } } } $p_img_large = wp_get_attachment_image_src($attach_id, 'large'); return apply_filters('vc_wpb_getimagesize', array('thumbnail' => $thumbnail, 'p_img_large' => $p_img_large), $attach_id, $params); }
function wpb_getImageBySize($params = array('post_id' => NULL, 'attach_id' => NULL, 'thumb_size' => 'thumbnail', 'grid_columns_count' => 2, 'grid_with_sidebar' => 0)) { //array( 'post_id' => $post_id, 'thumb_size' => $grid_thumb_size ) if ((!isset($params['attach_id']) || $params['attach_id'] == NULL) && (!isset($params['post_id']) || $params['post_id'] == NULL)) { return; } $post_id = isset($params['post_id']) ? $params['post_id'] : 0; if ($post_id) { $attach_id = get_post_thumbnail_id($post_id); } else { $attach_id = $params['attach_id']; } $thumb_size = $params['thumb_size'] . ''; global $_wp_additional_image_sizes; $thumbnail = ''; if (is_string($thumb_size) && (!empty($_wp_additional_image_sizes[$thumb_size]) && is_array($_wp_additional_image_sizes[$thumb_size]) || in_array($thumb_size, array('thumbnail', 'thumb', 'medium', 'large', 'full')))) { //$thumbnail = get_the_post_thumbnail( $post_id, $thumb_size ); $thumbnail = wp_get_attachment_image($post_id, $thumb_size); //TODO APPLY FILTER } $thumb_size = str_replace(array('px', ' ', '*'), array('', '', 'x'), $thumb_size); if (is_string($thumb_size) && !strpos($thumb_size, 'x') && !(!empty($_wp_additional_image_sizes[$thumb_size]) && is_array($_wp_additional_image_sizes[$thumb_size]) || in_array($thumb_size, array('thumbnail', 'thumb', 'medium', 'large', 'full')))) { $thumb_width_s = array(0 => array(1 => '900', 2 => '440', 3 => '287', 4 => '210', 5 => '60'), 1 => array(1 => '660', 2 => '320', 3 => '208', 4 => '158')); $thumb_width = $thumb_width_s[$params['grid_with_sidebar']][intval($params['grid_columns_count'])]; $thumb_size = intval($params['grid_columns_count']) == 5 ? $thumb_width : $thumb_size; // $thumb_size = str_replace(array( 'px', ' ', '*', '×' ), array( '', '', 'x', 'x' ), $thumb_size); $thumb_size = str_replace(array('px', ' ', '*', '×'), array('', '', '', ''), $thumb_size); // $thumb_size = explode("x", $thumb_size); $thumb_size = array($thumb_width, $thumb_size); } else { if (strpos($thumb_size, 'x')) { list($thumb_width, $thumb_size) = split('[x]', $thumb_size); } else { if (is_string($thumb_size) && (!empty($_wp_additional_image_sizes[$thumb_size]) && is_array($_wp_additional_image_sizes[$thumb_size]) || in_array($thumb_size, array('thumbnail', 'thumb', 'medium', 'large', 'full')))) { $thumb_size = str_replace(array('px', ' ', '*', '×'), array('', '', '', ''), $thumb_size); $thumb_width = get_option($thumb_size . '_size_w') == '' ? '150' : get_option($thumb_size . '_size_w'); $thumb_size = get_option($thumb_size . '_size_h') == '' ? '150' : get_option($thumb_size . '_size_h'); } else { } } $thumb_size = array($thumb_width, $thumb_size); // $post_id=='' and thumbnail=='' repair error } if ($thumbnail == '' && $attach_id) { // Resize image to custom size $p_img = wpb_resize($attach_id, null, $thumb_size[0], $thumb_size[1], true); /*if ( wpb_debug() ) { var_dump($p_img); }*/ if ($p_img) { $img_class = ''; //if ( $grid_layout == 'thumbnail' ) $img_class = ' no_bottom_margin'; class="'.$img_class.'" $thumbnail = '<img src="' . $p_img['url'] . '" width="' . $p_img['width'] . '" height="' . $p_img['height'] . '" />'; //TODO: APPLY FILTER } $p_img_large = wp_get_attachment_image_src($attach_id, 'large'); $p_img_large = $p_img_large[0]; } else { // START - Themeton Additional $tt_image = get_post_image() ? get_post_image() : get_post_content_image(); if ($tt_image) { $img_class = ''; $thumbnail = '<img src="' . $tt_image . '" width="' . $thumb_size[0] . '" height="' . $thumb_size[1] . '" />'; //TODO: APPLY FILTER } $p_img_large = $tt_image; // END - Themeton Additional } //$p_img_large = wp_get_attachment_image_src($attach_id, 'large' ); return array('thumbnail' => $thumbnail, 'p_img_large' => $p_img_large); }
/** Filter for image uploader * * @args null|null * or null|URL * or ID|URL * @return array|json *-------------------------------------------------*/ function ult_img_single_init($content = null, $data = '', $size = 'full') { $final = ''; if ($content != '' && $content != 'null|null') { // Create an array $mainStr = explode('|', $content); $string = ''; $mainArr = array(); if (!empty($mainStr) && is_array($mainStr)) { foreach ($mainStr as $key => $value) { if (!empty($value)) { array_push($mainArr, $value); } } } if ($data != '') { switch ($data) { case 'url': // First - Priority for ID if (!empty($mainArr[0]) && $mainArr[0] != 'null') { $Image_Url = ''; // Get image URL, If input is number - e.g. 100x48 / 140x40 / 350x53 if (preg_match('/^\\d/', $size) === 1) { $size = explode('x', $size); // resize image using vc helper function - wpb_resize $img = wpb_resize($mainArr[0], null, $size[0], $size[1], true); if ($img) { $Image_Url = $img['url']; // $img['width'], $img['height'], } } else { // Get image URL, If input is string - [thumbnail, medium, large, full] $hasImage = wp_get_attachment_image_src($mainArr[0], $size); // returns an array $Image_Url = $hasImage[0]; } if (isset($Image_Url) && !empty($Image_Url)) { $final = $Image_Url; } else { // Second - Priority for URL - get {image from url} if (isset($mainArr[1])) { $final = get_url($mainArr[1]); } } } else { // Second - Priority for URL - get {image from url} if (isset($mainArr[1])) { $final = get_url($mainArr[1]); } } break; case 'json': $final = json_encode($mainArr); break; case 'sizes': $img_size = getImageSquereSize($img_id, $img_size); $img = wpb_getImageBySize(array('attach_id' => $img_id, 'thumb_size' => $img_size, 'class' => 'vc_single_image-img')); $final = $img; break; case 'array': default: $final = $mainArr; break; } } } return $final; }