dongliaoqiang8524 2014-11-24 04:15
浏览 362
已采纳

缩略图上传警告getimagesize()警告:文件名不能为空

I want to add a auto-check thumbnail size function to my WordPress website, if the thumbnail size is less than 770px * 400px, it will not displayed on the top of the articles.

so I replace the original code:

<?php if( has_post_thumbnail() && ! has_post_format(‘video’) && ! has_post_format(‘audio’) && ! has_post_format(‘gallery’) ) : ?>

with

<?php
$display_thumbnail = true;
$thumbnail_size = getimagesize( wp_get_attachment_url( get_post_thumbnail_id() ) );
if ($thumbnail_size[0] < 770 || $thumbnail_size[0] < 400) {
$display_thumbnail = false;
}
?>
<?php if( has_post_thumbnail() && ! has_post_format('video') && ! has_post_format('audio') && ! has_post_format('gallery') && $display_thumbnail ) : ?>

Then the error occur: under the original code, if I didn't upload an image, it will display nothing; but under the new code, if I didn't upload an image, it will show the warning

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty on...

Can someone tell me how to fix this issue?

  • 写回答

1条回答 默认 最新

  • douwu0882 2014-11-24 04:37
    关注

    try

    <?php
    if(has_post_thumbnail()) {
        $attachment_src = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
        $display_thumbnail = is_array($attachment_src)
                            && $attachment_src[1] >= 770
                            && $attachment_src[2] >= 400;
    }
    ?>
    <?php if( has_post_thumbnail() && ! has_post_format('video') && ! has_post_format('audio') && ! has_post_format('gallery') && $display_thumbnail ) : ?>
    

    Edited: added 'full' argument to get the full size uploaded image.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?