Created
August 17, 2013 18:33
-
-
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:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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