Displaying all images from a WordPress post

前端 未结 5 1508
一整个雨季
一整个雨季 2020-12-09 23:36

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         


        
相关标签:
5条回答
  • 2020-12-10 00:12

    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;
    }
    
    0 讨论(0)
  • 2020-12-10 00:17

    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.

    0 讨论(0)
  • 2020-12-10 00:19

    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;
    }

    0 讨论(0)
  • 2020-12-10 00:23
    $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/

    0 讨论(0)
  • 2020-12-10 00:24
    <?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/

    0 讨论(0)
提交回复
热议问题