获取Wordpress附件图片网址

时间:2015-06-12 19:10:55

标签: php wordpress

我正在尝试显示附加到wordpress帖子的所有图像,并将图像链接到图像源,以便在灯箱中打开它。我使用以下代码:

if (have_posts())
{
    while (have_posts())
    {
        the_post();    
        $args = array(
            'orderby' => 'title',
            'order' => 'ASC',
            'post_type' => 'attachment',
            'numberposts' => -1,
            'post_status' => null,
            'post_parent' => $post->ID,
            'exclude' => get_post_thumbnail_id()
        );
        $attachments = get_posts( $args );
        if ($attachments)
        {
            foreach ($attachments as $attachment)
            {
                ?>
                <div id="image">
                    <a rel="lightbox" href="<?php /* ??? */ ?>">
                    <?php echo wp_get_attachment_image ($attachment->ID, 'full'); ?>
                    </a>
                </div>
                <?php
            }
        }
    }
}

我尝试了很多???的内容,但我似乎无法只检索源网址。

任何人都可以提供一些见解吗?

2 个答案:

答案 0 :(得分:7)

使用wp_get_attachment_image_src

https://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src

此:

wp_get_attachment_image_src( $attachment->ID, 'full' );

应返回包含以下元素的数组

[0] => url
[1] => width
[2] => height
[3] => boolean: true if $url is a resized image, false if it is the original or if no image is available.

答案 1 :(得分:0)

如果您只想链接到原始完整图像,最好使用“ wp_get_attachment_url”-https://developer.wordpress.org/reference/functions/wp_get_attachment_url/

wp_get_attachment_image_src函数将运行不需要的代码,并返回不需要的其他详细信息,从而使代码效率降低。