为什么wp_GET_ATTACH_IMAGE_src返回错误的尺寸?

时间:2014-11-05 作者:BdN3504

我正在使用wp_get_attachment_image_src 构建srcset 的属性img 标签在该属性中,我想输出一个以逗号分隔的图像URL列表以及图像宽度。

使用Media Settings 第页,我已将图像大小配置为如下:

缩略图尺寸:150x150中尺寸:640x480大尺寸:1024x768小尺寸:278x320wp_get_attachment_image_src 函数返回图像大小的正确URL和正确宽度full, mediumsmall. small 是我使用添加的自定义尺寸add_image_size.

如果我打电话wp_get_attachment_image_src( $image_id, \'large\' ), 返回的数组如下所示:

array (
    0 => \'http://localhost/wp-content/uploads/2014/10/image-1024x768.jpg\',
    1 => 640,
    2 => 480,
    3 => true,
)
检查可在该url处找到的图像会显示具有正确尺寸的图像。

目前我正在使用php内置函数getimagesize 要避免此问题,此函数调用所需的时间比简单访问wp_get_attachment_image_src:

没有getimagesize(执行前后的mtime):

“0.83761000 1415195440”带getimagesize:

“0.34808000 1415195635”“0.35323900 1415195635”“我该怎么做才能使wp\\u get\\u attachment\\u image\\u src返回正确的尺寸?”?

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

我发现了同样的问题here从那里得到的解决方案是有效的。

解决方案非常简单,只需粘贴以下内容:

$content_width = 2000;// Value higher than your new \'large\' width
在函数中。php

从那里复制的解释(用户Chip Bennett):

我认为您的问题是,全局$content\\u width变量的值设置(样板中为640px,2111中为584px)小于您通过设置指定的宽度->;媒体

WordPress正在使用特定于主题的值覆盖您的用户设置。这实际上是有道理的,因为一个主题知道它的最大内容宽度,并且使用一个比主题设计要适应的更大的图像宽度很可能会破坏主题布局。

查看上面的链接以查看他的完整答案。

<小时/>This is a link 到下划线主题项目,在该项目中设置此值。

结束

相关推荐

Can't edit images

两天前,我发现我的Wordpress媒体编辑器有一个很大的问题。我无法编辑任何图像,因为它没有出现。Wordpress只显示破碎图片的小图标。。。我一直在寻找问题,现在我非常确定函数。php文件导致了我的问题。当我删除函数时,我意识到了这一点。php-问题也消失了。但奇怪的是,编辑器在运行时不工作。php为空。我什么都试过了。我关闭了所有的插件,但我无法摆脱我的功能。php,因为它对我来说太重要了。另一方面,图像的问题确实令人恼火。。。提前谢谢。