获取缩略图路径而不是图像标签

时间:2010-12-01 作者:Sampson

我在WordPress中看到了许多显示缩略图的方法,但我不能立即确定如何仅获取帖子缩略图的路径,而不是由以下函数生成的html就绪代码the_post_thumbnail()get_the_post_thumbnail().

有什么方法可以仅获取缩略图的路径(将其设置为bgimage),而不是<img /> 标签我是否只能选择解析get_ 方法还是有更简单的方法?

4 个回复
最合适的回答,由SO网友:Rarst 整理而成

缩略图本质上是附件,因此您可以使用get_post_thumbnail_id() 并使用wp_get_attachment_image_src(), 像这样:

if (has_post_thumbnail()) {
    $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), \'thumbnail_name\');
    echo $thumb[0]; // thumbnail url
}
(source)

SO网友:Sheba Tech

get_the_post_thumbnail_url($recent[\'ID\']);
以上是我的诀窍!我不得不猜测函数,它神奇地工作了!

值得一提的是,我曾经get_recent_posts 流程中的循环。

SO网友:Sampson

一种方法是转换从get_the_post_thumbnail() ,然后拉动src 属性:

$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) );
print $thumbnail->attributes()->src;

SO网友:PNMG

当我需要显示附加到post gallery的缩略图时,我会在函数中使用自定义函数。php。对于你的需求来说,这可能是过分的,但它应该涵盖一切。

在本例中,我检索了帖子库中的所有图像,然后在列表项中显示每个图像。该列表包含包裹在锚定中的缩略图,该锚定链接到图像来自的帖子。可以根据您的需要轻松定制输出字符串。

function get_gallery_image_thumb_list($size){
global $post;
$args = array(
    \'numberposts\' => null,
    \'post_parent\' => $post->ID,
    \'post_type\' => \'attachment\',
    \'nopaging\' => false,
    \'post_mime_type\' => \'image\',
    \'order\' => \'ASC\',
    \'orderby\' => \'menu_order ID\',
    \'post_status\' => \'any\'
);

$attachments =& get_children($args);
if ($attachments) {
    foreach($attachments as $attachment) {
        foreach($attachment as $attachment_key => $attachment_value) {

            $imageID = $attachment->ID;
            $imageTitle = $attachment->post_title;
            $imageCaption = $attachment->post_excerpt;
            $imageDescription = $attachment->post_content;
            $imageAlt = get_post_meta($imageID, \'_wp_attachment_image_alt\', true);
            $imageArray = wp_get_attachment_image_src($attachment_value, $size, false);
            $imageURI = $imageArray[0]; // 0 is the URI
            $imageWidth = $imageArray[1]; // 1 is the width
            $imageHeight = $imageArray[2]; // 2 is the height

            // Build the <img> string
            $ImgString = \'<li><a href="\' . get_permalink() . \'" title="\' . the_title("", "", false) . \'"><img src="\' . $imageURI . \'" width="\' . $imageWidth . \'" height="\' . $imageHeight . \'" alt="\' . $imageAlt . \'" title="\' . $imageTitle . \'" /></a></li>\';
            // Print the image
            echo $ImgString;
            break;
        }
    }
}

unset($args);}
然后调用函数并传入要返回的图像大小(缩略图、中、大或全),如下所示:

get_gallery_image_thumb_list("thumbnail");
这需要在循环或自定义循环中调用。

结束

相关推荐