Wordpress获取图片网址(目前使用wp_get_attachment_url)

时间:2012-04-30 19:37:07

标签: image wordpress url attachment

在wordpress中获取图片附件网址时遇到一些麻烦。到目前为止,这是我的代码:

<?php // find images attached to this post / page.
            global $post;
            $thumb_ID = get_post_thumbnail_id( $post->ID );
            $args = array(
                'post_type' => 'attachment',
                'post_mime_type' => 'image',
                'numberposts' => -1,
                'orderby' => 'menu_order',
                'order' => 'ASC',
                'exclude' => $thumb_ID,
                'post_parent' => $post->ID
            );
            $images = get_posts($args);
            ?>

            <?php // Loop through the images and show them

            if($images)
            {
            foreach($images as $image)  
            {

            echo  wp_get_attachment_image_url($image->ID, $size='attached-image');

            }
            }

?>

什么都不返回。如果我为wp_get_attachment_image_url($image->ID, $size='attached-image');换出wp_get_attachment_image($image->ID, $size='attached-image');,这可以正常工作,但会带来图片而不仅仅是网址。

1 个答案:

答案 0 :(得分:7)

以下代码将遍历所有图像附件并输出src url。请注意,根据您的需要,显示了两种方法。

<?php

    global $post;
    $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_mime_type' => 'image', 'post_status' => null, 'post_parent' => $post->ID ); 
    $attachments = get_posts($args);
    if ($attachments) {
            foreach ( $attachments as $attachment ) {
                    // Method #1: Allows you to define the image size
                    $src = wp_get_attachment_image_src( $attachment->ID, "attached-image");
                    if ($src) {echo $src[0];}
                    // Method #2: Would always return the "attached-image" size
                    echo $attachment->guid;
            }
    }

?>