humanmade / tachyon-plugin

WordPress plugin for Tachyon
https://engineering.hmn.md/projects/tachyon/
83 stars 15 forks source link

Enable cropping via dynamic size array #46

Open roborourke opened 5 years ago

roborourke commented 5 years ago

In WP when you call wp_get_attachment_image_src() for example you pass in an array for the size parameter rather than a size name, in a Tachyon context this works great. There is however a limitation in WP that you cannot specify if the image should be cropped to the dimensions or not because all it does under the hood is find the nearest actual size or set width & height attributes on an image tag.

In Tachyon we can allow for overloading this size array with a 3rd item for cropping eg:

$src = wp_get_attachment_image_src( $id, [ 300, 200, true ] );

This won't break any core code as it just references $size[0] and $size[1] directly but allows us to access $size[2] and choose whether to apply resize or fit in the tachyon URL.