Skip to content

Instantly share code, notes, and snippets.

@jeherve
Created August 17, 2013 18:33
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeherve/6258168 to your computer and use it in GitHub Desktop.
Save jeherve/6258168 to your computer and use it in GitHub Desktop.
[Jetpack] Use photon to serve Post thumbnails, with custom cropping, and a different cropping on single pages:
<?php
if( function_exists( 'jetpack_photon_url' ) ) {
add_filter( 'jetpack_photon_url', 'jetpack_photon_url', 10, 3 );
}
function jeherve_display_custom( $content, $post ) {
global $post;
// If you didn't define a post thumnail, let's forget about all this
if ( !has_post_thumbnail( $post->ID ) )
return $content;
// What's the cropping and the size of image we should use on Single pages?
// See <a href="http://developer.wordpress.com/docs/photon/api/#crop" rel="nofollow noreferrer">http://developer.wordpress.com/docs/photon/api/#crop</a> for parameters
if ( is_single() ) {
$args = array(
'crop' => '50,50,200px,200px',
);
}
// resizing on other pages
else {
$args = array(
'resize' => '200,400',
);
}
// Let's create a Photon Image URL from the Post Thumbnail
$feat_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full');
$photon_image_url = jetpack_photon_url( $feat_image_url[0], $args );
// Let's build the image tag, as it was built before in your example
$our_image = sprintf( '<div class="post-media"><a class="featured-image" href="%1$s" title="%2$s"><img src="%3$s" class="wp-post-image" alt="Featured Image"></a></div>',
esc_url( get_permalink() ),
esc_attr( sprintf( __( 'Open %s', 'dot' ), get_the_title() ) ),
esc_attr( $photon_image_url )
);
// Let's return the image, right before the post content
return $our_image . $content;
}
add_filter( 'the_content', 'jeherve_display_custom' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment