如何检索不同大小的媒体图片URL?

时间:2016-07-17 作者:Frederik Witte

我试图从图库中检索URL,而不是整个图像对象。我被困住了,因为我要么只能通过以下方式获得全尺寸的图像:

wp_get_attachment_url
因为它不接受任何参数,或者img 通过以下方式标记各种内容:

wp_get_attachment_image
有没有办法获取URL?我现在的代码如下所示:

<?php
    $query_images_args = array(
                               \'post_type\' => \'attachment\',
                               \'post_mime_type\' => \'image\',
                               \'post_status\' => \'inherit\',
                               \'posts_per_page\' => -1,);

    $query_images = new WP_Query( $query_images_args );

    class image {
        public $thumbnail_url;
        public $full_url;
    }
    $images = array();
    foreach ( $query_images->posts as $picture ) {
        $image = new image();
        $image->thumbnail_url = wp_get_attachment_image( $picture->ID, \'thumbnail\' );
        $image->full_url = wp_get_attachment_image( $picture->ID, \'full\' );
        array_push($images, $image);
    }

    foreach($images as $image) {
        $thumbnail_url = $image->thumbnail_url;
        $full_url = $image->full_url;
?>
我希望能够正确填写:

<li><img data-full-url="<?php echo $full_url ?>" src="<?php echo $thumbnail_url; ?>" /></li>

1 个回复
最合适的回答,由SO网友:CK MacLeod 整理而成

我不完全理解你的代码(你的foreach实际上是如何填写你的列表项的),但是,至于具体的问题,我认为你想要的函数是wp_get_attachment_image_src();

因此(举例说明):

   $thumbnail_src = wp_get_attachment_image_src( $picture->ID );
   $image->thumbnail_url = $thumbnail_src[0];
   $full_src = wp_get_attachment_image_src( $picture->ID, \'full\' );
   $image->full_url = $full_src[0];

相关推荐

已修改Backbone JS中的wp.media.view.Settings.Gallery,但无法编辑

我已经添加到普通的WordPress gallery弹出窗口(在WordPress编辑器中单击“添加媒体”时),以便选择我的自定义库类型(与WordPress gallery主快捷码交互/使用)。我可以选择我的自定义图库类型(我有两种)或“本机”(这是普通的WordPress图库)。目前,在创建库时,一切都按预期工作(如果选择了非本机库类型,则除了我的非本机库使用的几个其他选项外,gallerytype会添加到发送给编辑器的短代码中)。然而,问题是,当想要编辑我已经创建的图库时,我用来选择图库类型(本机或