0
votes

I am developing a CMS website in wordpress. My website template has multiple pages and in those pages, I have images of different sizes. The images will be the featured image of those posts.

So lets say in the home page, I have a featured div where the image size should be 720 X 963 .

In the same page, below the featured div, I have a div for other posts where the image size is 350 X 224.

And the last, I have a page, where I have displayed the posts in a particular category like as a form of gallery, where the size of the image thumbnail is 257 X 161 .

The image that is extracted in all those pages is the featured image of the post.

I tried modifying functions.php as

// Set up custom post image sizes
if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'home-post-thumbnail', 350, 224 );
}

// Set up custom post image sizes
if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'home_featured-post-thumbnail', 720, 963 );
}

and using it in the theme as

<?php the_post_thumbnail( $size = 'home_featured-post-thumbnail') ?> but its not working. I browsed wp-content folder to see whether the resized file is available but it is not.

How can I force wordpress to resize the images to those exact size that I need.

2

2 Answers

1
votes

You should check the add_theme_support function first then add_image_size like

if(function_exists('add_theme_support'))
add_theme_support('post-thumbnails');
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'home-post-thumbnail', 350, 224 ,true);
}

// Set up custom post image sizes
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'home_featured-post-thumbnail', 720, 963,true );
}
 the_post_thumbnail('home-post-thumbnail');// for automatically crop when uploaded

And to retrieve thumbnail

get_the_post_thumbnail($post->ID, 'home_featured-post-thumbnail');  
0
votes

Try this:

$image = wp_get_image_editor( 'cool_image.jpg' ); // Return an implementation that extends <tt>WP_Image_Editor</tt>

if ( ! is_wp_error( $image ) ) {
    $image->rotate( 90 );
    $image->resize( 300, 300, true );
    $image->save( 'new_image.jpg' );
}

This may also interest you : https://codex.wordpress.org/Class_Reference/WP_Image_Editor