根据图像宽度显示缩略图

时间:2020-01-24 作者:Mike

我正在尝试以横向或纵向模式显示图像,这取决于我上传到每篇WordPress文章的“特色图像”的图像宽度。

如果图像的宽度大于高度,则保留默认拇指,但如果宽度小于此值,请选择“图像垂直内单”拇指。

我有一个add\\u image\\u大小(“image vertical inside single”,450,99999,false);所以我可以创建这样大小的图像。

下面的代码。。。

 <?php
        $thumb_single            = \'imagen-vertical-inside-single\';
        $imgData     = wp_get_attachment_metadata( get_post_thumbnail_id( get_the_ID() ) );
        $width       = $imgData[\'width\'];
        $height      = $imgData[\'height\'];

        if ( $width > $height || $width == $height ) {
            $thumb_single = \'\';
        } else {
            if ( \'\' != get_the_title() ) {
                $thumb_single = \'imagen-vertical-inside-single\';
            }
        }

        return $thumb_single;

?>

            <figure class="featured-image">
                <?php the_post_thumbnail( $thumb_single, array(\'class\' => \'skip-lazy\') ); ?>
            </figure>
但它不能正常工作。。。

1 个回复
SO网友:Faye

我认为问题在于,您试图获取图像的元数据,而没有指定宽度和高度的大小。

    $imgData     = wp_get_attachment_metadata( get_post_thumbnail_id( get_the_ID() ) );
    $width       = $imgData[\'width\'];
    $height      = $imgData[\'height\'];
相反,请尝试以下操作:

    $imgID       = get_post_thumbnail_id( get_the_ID() );
    $imgURL      = wp_get_attachment_image_src( $imgID, \'full\' ); // now I know which image specifically I want - in this case \'full\'.
    $width       = $imgURL[\'1\']; // I\'ve never tested \'height\' and \'width\', but 100% the array numbers work
    $height      = $imgURL[\'2\'];
现在我知道了我正在测试的特定img url的高度和宽度。

相关推荐