Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Step1. Paste this function in your function.php file</p> <pre><code>function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) { // this is an attachment, so we have the ID if ( $attach_id ) { $image_src = wp_get_attachment_image_src( $attach_id, 'full' ); $file_path = get_attached_file( $attach_id ); // this is not an attachment, let's use the image url } else if ( $img_url ) { $file_path = parse_url( $img_url ); $file_path = ltrim( $file_path['path'], '/' ); //$file_path = rtrim( ABSPATH, '/' ).$file_path['path']; $orig_size = getimagesize( $file_path ); $image_src[0] = $img_url; $image_src[1] = $orig_size[0]; $image_src[2] = $orig_size[1]; } $file_info = pathinfo( $file_path ); $extension = '.'. $file_info['extension']; // the image path without the extension $no_ext_path = $file_info['dirname'].'/'.$file_info['filename']; $cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension; // checking if the file size is larger than the target size // if it is smaller or the same size, stop right here and return if ( $image_src[1] &gt; $width || $image_src[2] &gt; $height ) { // the file is larger, check if the resized version already exists (for crop = true but will also work for crop = false if the sizes match) if ( file_exists( $cropped_img_path ) ) { $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] ); $vt_image = array ( 'url' =&gt; $cropped_img_url, 'width' =&gt; $width, 'height' =&gt; $height ); return $vt_image; } // crop = false if ( $crop == false ) { // calculate the size proportionaly $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height ); $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension; // checking if the file already exists if ( file_exists( $resized_img_path ) ) { $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] ); $vt_image = array ( 'url' =&gt; $resized_img_url, 'width' =&gt; $new_img_size[0], 'height' =&gt; $new_img_size[1] ); return $vt_image; } } // no cached files - let's finally resize it $new_img_path = image_resize( $file_path, $width, $height, $crop ); $new_img_size = getimagesize( $new_img_path ); $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] ); // resized output $vt_image = array ( 'url' =&gt; $new_img, 'width' =&gt; $new_img_size[0], 'height' =&gt; $new_img_size[1] ); return $vt_image; } // default output - without resizing $vt_image = array ( 'url' =&gt; $image_src[0], 'width' =&gt; $image_src[1], 'height' =&gt; $image_src[2] ); return $vt_image; } </code></pre> <p>Step 2 is to display in you page. For that use this</p> <pre><code>&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" alt="Read Moare about &lt;?php the_title(); ?&gt;" title="Read Moare about &lt;?php the_title(); ?&gt;" &gt; &lt;?php $thumb = get_post_thumbnail_id(); $image = vt_resize( $thumb,'' , 515, 700, true ); ?&gt; &lt;img src="&lt;?php echo $image[url]; ?&gt;" width="&lt;?php echo $image[width]; ?&gt;" height="&lt;?php echo $image[height]; ?&gt;" /&gt; &lt;/a&gt; </code></pre> <p>..where 515 and 700 is the size. You can change this as you wish! </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload