<?php 

$post_id = $_REQUEST['id'];

if($post_id)
{
$queried_post = get_post($post_id);
$title = $queried_post->post_title;
//print_r($queried_post);
$phpdate = strtotime($queried_post->post_date );
apply_filters('get_the_date', $queried_post->post_date, $d) ;
echo '<div class="post" id="post-'.$queried_post->ID.'">';
echo '<h2 class="entry-title"><a href="javascript:void(0)" rel="bookmark">'.$queried_post->post_title.'</a></h2>';
echo '<div class="entry-meta">Posted on <a href="javascript:void(0)">'.date("F j, Y",$phpdate).' </a> by <a href="'.get_author_posts_url($queried_post->post_author).'">'. get_the_author()."</a></div>";
echo '<div class="entry"><p>'.$queried_post->post_content.'</p></div>';
echo "</div>";
}
else
{
print "";
}
       
?>