Caio Oliveira
Caio Oliveira

Reputation: 35

Get image from a wordpress post

i have the title of my last 4 posts but i need the image post too. I'm terrible programmer `

include('../blog/wp-load.php'); // Blog path

// Get the last 4 posts
  $recent_posts = wp_get_recent_posts(array(
  'numberposts' => 4,
  'category' => 0,
  'orderby' => 'post_date',
  'post_type' => 'post',
  'post_status' => 'publish'
));

// Display them as list
echo '<ul>';
foreach($recent_posts as $post) {
  echo '<li><a href="', get_permalink($post['ID']), '">', $post['post_title'], '</a></li>';
}
echo '</ul>'`

i'm trying to do something like this:

Recent Post

Upvotes: 0

Views: 1183

Answers (4)

dfinchenko
dfinchenko

Reputation: 54

It's must be work!

<?php

$recent_posts = wp_get_recent_posts(array(
                    'numberposts' => 4,
                    'category' => 0,
                    'orderby' => 'post_date',
                    'post_type' => 'post',
                    'post_status' => 'publish',
));

foreach($recent_posts as $single_post){
    $get_post_images = get_attached_media( 'image', $single_post['ID'] );
    $get_post_images = array_shift( $get_post_images );
    $first_image_url = $get_post_images->guid;


?>

<a href="<?php echo get_permalink($single_post['ID']) ?>"><?php echo $single_post['post_title'] ?></a><br />  
<img src="<?php echo $first_image_url; ?>" /><br />

<?php    
}

?>

Upvotes: 1

Caio Oliveira
Caio Oliveira

Reputation: 35

I got it!

<ul>
<?php
include('esenergy/wp-load.php'); // Blog path
function recentPosts() {
    $rPosts = new WP_Query();
    $rPosts->query('showposts=3');
        while ($rPosts->have_posts()) : $rPosts->the_post(); ?>
            <li>
                <a href="<?php the_permalink();?>"><?php the_post_thumbnail('recent-thumbnails'); ?></a>
                <h2><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h2>
            </li>   
        <?php endwhile; 
    wp_reset_query();
}
?>
</ul>
<?php echo recentPosts(); ?>

Upvotes: 0

dfinchenko
dfinchenko

Reputation: 54

If you have't the post thumbnail, but have images inside post, then you need this solution which use inside the loop:

$get_post_images = get_attached_media( 'image', $post->ID );
$get_post_images = array_shift( $get_post_images );

//Get url for image
$first_image_url = $get_post_images->guid;

// Show the image
echo '<img src="'. $first_image_url .'" />';

Upvotes: 0

James Valeii
James Valeii

Reputation: 482

I think you're looking for get_the_post_thumbnail Here's the Codex.

For example:

get_the_post_thumbnail( $postID,'medium', array( 'class' => 'aligncenter' ));

You might try something like this for your final product (untested):

// Display them as list

$output = '<ul>';

foreach($recent_posts as $post) {

$link = get_permalink($post['ID']);
$image = get_the_post_thumbnail( $postID,'medium', array( 'class' => 'aligncenter' ));
$title = $post['post_title'];

$output .= '<li>
                <a href="'.$link.'">'.
                    $image
                    .'<h2>'.$title.'</h2>
                </a>
            </li>';

}
$output .= '</ul>';
echo $output;

Upvotes: 1

Related Questions