I have this piece of code I found on some blog, that\'s supposed to display all images from a WordPress post.
function getImage() {
global $more;
$m
Try this ! It may work.
function getImage() {
global $more;
$more = 1;
$link = get_permalink();
$content = get_the_content();
$count = substr_count($content, '<img');
for($i=1;$i<=$count;$i++) {
//move $start = 0 inside the loop
$start = 0;
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, '>');
$postOutput = substr($post, 0, $imgEnd+1);
$postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);;
if(stristr($postOutput,'<img')) { echo $postOutput; }
$content = substr($content,$imgEnd+1);
}
$more = 0;
}
its easier now with the new wordpress get_attached_media($type,$post) function
$attachments= get_attached_media( 'image', $post->ID );
foreach($attachments as $att_id => $attachment) {
$full_img_url = wp_get_attachment_url($attachment->ID);
// You can echo it out here
}
note that this gets only the files uploaded to the post . not files added through media library.
Fixed, you need to add an $imgLength.
function getImage() {
global $more;
$more = 1;
$link = get_permalink();
$content = get_the_content();
$count = substr_count($content, '<img');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgLength = strpos($post, '>');
$imgEnd = $imgBeg + $imgLength;
$postOutput = substr($post, 0, $imgLength+1);
$postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);;
if(stristr($postOutput,'<img')) {
echo $postOutput;
}
$start=$imgEnd+1;
}
$more = 0;
}
$attachments = get_children(array('post_parent' => $post->ID,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID'));
foreach($attachments as $att_id => $attachment) {
$full_img_url = wp_get_attachment_url($attachment->ID);
// Your Code here
}
Also you can have a look here: http://www.rlmseo.com/blog/get-images-attached-to-post/
<?php
if ( have_posts() )
while ( have_posts() ):
the_post();
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_parent' => $post->ID
);
$attachments = get_posts( $args );
if ( $attachments )
{
foreach ( $attachments as $attachment )
{
echo wp_get_attachment_image( $attachment->ID, false );
}
}
endwhile;
?>
Source : http://960development.com/code-snippet/get-all-the-images-attached-with-a-wordpress-post/