0

要抓取和调整缩略图大小,我使用此链接中的 aqua resizer:

https://github.com/sy4mil/Aqua-Resizer

调用缩略图以在循环中显示此代码:

<?php $thumb = get_post_thumbnail_id(); 
$img_url = wp_get_attachment_url( $thumb,'full' ); 
$image = aq_resize( $img_url, 150, 700, true ); 
?>
<img src="<?php echo $image ?>" width="150" height="700" alt="<?php the_title(); ?>"/> 

它运作良好。但仅适用于特征图像。我想将调用者设置为不是为特征图像,而是为第一个帖子图像。因此,当我忘记在帖子中设置特色图片时,第一张图片将显示为缩略图。

我知道代码流应该是这样的:

if(has_post_thumbnail()) {
// resize post thumbnail here e.g. $img_url = aq_resize...
} elseif($first_img) {
// resize the first img here, $img_url = aq_resize($first_img, ...
} else {
// $img_url = ''; //empty
}

但我是 php 新手。有人可以帮忙吗?提前致谢

4

1 回答 1

2

你可以把这个函数放在你的functions.php中,然后从任何地方调用它。它将返回它在您的帖子中找到的第一个图像标签的源属性,或者如果它没有找到任何东西,则返回一个空白字符串。

function get_first_image_src()
{
    $content = get_the_content();
    $image_regex = "/<img [^>]*src=[\"']([^\"^']*)[\"']/";
    preg_match($image_regex, $content, $match);

    if (empty($match))
        return "";

    return $match[1];
}
于 2013-02-19T16:39:31.893 回答