在第三方插件(如Daryll Doyle的Safe SVG)的帮助下,通过WordPress的后端媒体上传器成功上传了一个SVG图像,如何获得存储在SVG文件中的图像尺寸width
, height
, 或viewBox
要在前端与WordPress函数一起使用的属性,例如wp_get_attachment_image_src()
?
与PNG和JPEG等其他类型的图像不同,WordPress不将SVG图像的尺寸存储到其系统中。
以下是一个常规PNG:
这是一个SVG图像:
也许我们可以在theme的functions.php
每当您通过WordPress的后端上传文件以获取这些维度并将其直接写入该附件的数据库时,就会触发?
谢谢
SO网友:Trisha
我同意Tom J Nowell对SVG的使用,但是如果上传的是实际的图像,那么可以使用wp\\u get\\u attachment\\u image\\u src访问附件属性。
在使用WP media uploader时,这些维度实际上已经被记录和存储,您使用的插件很可能使用了WP media uploader。
如果附件是图像,则存储四个属性(0=URL,1=宽度,2=高度,3=中间值),如果附件不是图像,则存储false。
因此,您可以调用并回显这些属性,如本例所示:
$img_atts = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), \'medium\');
$img_src = $img_atts[0];
我使用它来回显图像的尺寸(附件1和附件2),以便为OG:image:width和OG:image:height(以及其他OG标记)创建每帖子OG标记。
您可以在此处找到更多信息:https://developer.wordpress.org/reference/functions/wp_get_attachment_image_src/