Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Wordpress - Get the Image from Post Thumbnail or the First Image of a post or else use a default Image.
* Display Image from the_post_thumbnail or the first image of a post else display a default Image
* Chose the size from "thumbnail", "medium", "large", "full" or your own defined size using filters.
* USAGE: <?php echo my_image_display(); ?>
function my_image_display($size = 'full') {
if (has_post_thumbnail()) {
$image_id = get_post_thumbnail_id();
$image_url = wp_get_attachment_image_src($image_id, $size);
$image_url = $image_url[0];
} else {
global $post, $posts;
$image_url = '';
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$image_url = $matches [1] [0];
//Defines a default image
$image_url = get_bloginfo('template_url') . "/img/default.jpg";
return $image_url;

Could you please show an example of how to apply new image sizes filters ?
Also, after testing it doesn´t work if the post have more than one image :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.