Post thumbnail outside the loop

I’m trying to get the post thumbnail in the sidebar which is in essence outside the loop.
For some reason it seems impossible!!!
I have tried all kinds of ways.
Here is the wirking code: (I have edited the code now that I found it)

global $wp_query;
$post_id = $wp_query->post->ID;

if (has_post_thumbnail( $post_id ) ):
    $image_id = get_post_thumbnail_id($post_id);
    $imazz = wp_get_attachment_image_src($image_id,'medium',true);
    $image_url = $imazz[0];
    $image_url = '<img src="'.$image_url.'" alt="'.the_title().'" />';
else :
    php $image_url = '<img src="'.get_template_directory_uri().'/images/logo-pic-inv.jpg" width="500" height="333" alt="'.__("Δημοσιεύσεις","44db").'" />';
endif;

I have also tried using the following code:

Read More
get_the_post_thumbnail($post->ID); // using the post id

and that

get_the_post_thumbnail($post_id); // using the fetched post id

any help would be very much appreciated.
Thanks

Related posts

Leave a Reply

2 comments

  1. The problems is that you’re not inside a loop when you’re in the sidebar. By the time you hit the sidebar your loop has finished, so even getting $wp_query->post->ID won’t work.

    Try doing:

    rewind_posts();
    the_post();
    

    to reset the loop and then get the first entry loaded up, before the code you included.

    If you wanted to be a bit better then you can do:

    rewind_posts();
    if (have_posts()) : the_post();
    

    Hope that helps