Yes yes yes... Ok... So basically you want to put the image before the title and the text.... (the title of this thread is not clear about that :-))
To do this, you should use a function to make a custom template tag and edit the loop in the template files (index.php/single.php/etc.)
[1] Edit / create a function.php in your theme directory.
[2] paste this function in function.php :
function my_image_tag() {
global $wpdb;
global $post;
$my_post_image = $wpdb->get_var("SELECT ID FROM $wpdb->posts where post_parent= $post->ID and post_type = 'attachment'");
if ($my_post_image == 0) {
echo "";
}
else {
echo wp_get_attachment_image()($my_post_image, $size='large', $icon = false);
}
}
This function retreive the first image attached to a post. Look at the last line and change $size='large' for the format you want to use (large/medium/thumbnail).
[3] Save your function.php and upload it in your theme directory.
[4] Now, you have a custom template tag you can use in your loop : <?php my_image_tag(); ?>
[5] When you upload your first image in your post, DO NOT insert it in the post itself. It is "attached" to the post in the database. Juste upload the image and that's all...
[6] Then, in you loop, you go that way :
<div class="entry">
<?php my_image_tag(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content(''); ?>
</div>
Of course, you can wrap my_image_tag in a div if you like to do so...
It should do the trick. Edit the loop in all the template file where you want the image to be displayed : single.php, index.php, category.php...
You can even make multiple functions (my_thumbnail_tag, my_medium_tag, etc) with different format... All you have to do is to edit the size in the function as I explained...
Hope this help.
@+
S.