Je veux obtenir wp_attachment_metadata
à ma manière. Je veux séparer les tailles (Thumbnail, Large, Medium, Small). La méta-valeur sur la base de données ressemble à ceci:
a:5:{s:5:"width";i:660;s:6:"height";i:320;s:4:"file";s:39:"2013/07/debut
-busana-muslim-new-yor.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"f
ile";s:39:"debut-busana-muslim-new-yor-150x150.jpg";s:5:"width";i:150;s:
6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:
4:"file";s:39:"debut-busana-muslim-new-yor-300x145.jpg";s:5:"width";i:30
0;s:6:"height";i:145;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_met
a";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:
"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:1
2:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";
s:0:"";}}
Eh bien, je suis coincé. Je ne sais pas comment séparer ce tableau. Tout le monde sait comment séparer ce tableau afin que je puisse obtenir les tailles et l'URL des images.
Il y a deux méthodes:
$attachment_meta = get_post_meta( $post->ID, '_wp_attachment_meta', true );
Renverra une array()
:
$width = $attachment_meta['width'];
Ce true
en tant que troisième paramètre est particulièrement important dans ce cas, car les métadonnées interrogées sont un sérialisé tableau. Vous devez le retourner en tant que single ou vous obtiendrez un tableau, sauf que le premier élément de ce tableau sera le tableau sérialisé. Désordonné. Il suffit de passer true
et votre tableau non sérialisé sera renvoyé.
Cette fonction est en quelque sorte un wrapper pour l'appel get_post_meta()
ci-dessus.
$attachment_meta = wp_get_attachment_metadata( $post->ID );
Dans les deux cas, $post
est la pièce jointe , et non la publication parente dans laquelle la pièce jointe est téléchargée.