Après avoir transféré avec succès une image SVG via le programme de téléchargement de média principal de WordPress à l'aide d'un plug-in tiers tel que Safe SVG de Daryll Doyle, comment obtenir les dimensions de l'image stockées dans les attributs width
, height
ou viewBox
du fichier SVG utiliser en mode frontal avec des fonctions WordPress telles que wp_get_attachment_image_src()
?
Contrairement à d'autres types d'images telles que PNG et JPEG, WordPress n'enregistre pas les dimensions de l'image SVG dans son système.
Peut-être pourrions-nous utiliser une sorte de crochet dans le functions.php
du thème qui se déclenche chaque fois que vous téléchargez un fichier via le back-end de WordPress afin d'acquérir ces dimensions et de les écrire directement dans la base de données pour cette pièce jointe?
Merci!
Je suis d'accord avec Tom J Nowell sur l'utilisation de SVG, mais si le téléchargement est une image réelle, vous pouvez accéder aux attributs de pièce jointe en utilisant, comme vous l'avez suggéré, wp_get_attachment_image_src.
En réalité, ces dimensions sont déjà enregistrées et stockées lors de l’utilisation du WP Media Uploader. Il est probable que le plug-in que vous utilisez utilise le WP Media Uploader.
Quatre attributs sont stockés (0 = URL, 1 = Largeur, 2 = Hauteur, 3 = is_intermediate) si la pièce jointe est une image, false si ce n'est pas une image.
Vous pouvez donc appeler et faire écho à ces attributs comme dans cet exemple:
$img_atts = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), 'medium');
$img_src = $img_atts[0];
J'utilise ceci pour faire écho aux dimensions d'une image (atts 1 et 2) pour créer des balises OG par message pour og: image: width et og: image: height (avec d'autres balises OG).
Vous pouvez trouver plus d'informations ici: https://developer.wordpress.org/reference/functions/wp_get_attachment_image_src/