Heres a little WordPress snippet that allows you to exclude the current WordPress post from the WP Query – i.e. list of recent posts, more posts from the same category, etc. What the snippet does, is getting the ID of the current post and then use this post ID to exclude current post form being included in the query.
Add this code to your WordPress theme template files where you usually use your queries.
$currentID = get_the_ID(); // get current post ID and convert it into a variable
$my_query = new WP_Query(
array('cat' => '1',
'showposts' => '5',
'post__not_in' => array(
while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
<h1><a href="<?php the_permalink(); ?>"><?php the_title() ?></a></h1>
<?php the_content(); ?>
<?php endwhile; ?>