How to display posts on template

$args = array(
            'posts_per_page'=>-1,
            'number_posts'=>-1,
            'category'=>9,
            'orderby'=>'post_date',
            'order' => 'DESC',
            'post_type'=>'post',
            'post_status'=>'publish'                
        );
$posts = get_posts($args);  
foreach($posts as $post):
    $id= $post->ID;
    $permalink = get_permalink( $id );
    $title = $post->post_title;
    $content = $post->post_content;
    $image = wp_get_attachment_url(get_post_thumbnail_id($id));     
endforeach;