Bonne façon d'utiliser wp_get_attachment_image() dans wordpress
Je suis à la recherche de la bonne façon d'utiliser wp_get_attachment_image().
Le code suivant:
<?php
$args = array(
'type' => 'attachment',
'category_name' => 'portfolio'
);
$attachments = get_posts($args);
print_r($attachments);
?>
Génère le résultat suivant:
Array
(
[0] => stdClass Object
(
[ID] => 54
[post_author] => 1
[post_date] => 2010-06-22 00:32:46
[post_date_gmt] => 2010-06-22 00:32:46
[post_content] => <a href="http://localhost/wordpress/wp-content/uploads/2010/06/Capture.jpg"><img class="alignnone size-medium wp-image-55" title="Capture" src="http://localhost/wordpress/wp-content/uploads/2010/06/Capture-300x114.jpg" alt="" width="300" height="114" /></a>
[post_title] => Our Own Site
[post_excerpt] =>
[post_status] => publish
[comment_status] => open
[ping_status] => open
[post_password] =>
[post_name] => our-own-site
[to_ping] =>
[pinged] =>
[post_modified] => 2010-06-22 00:40:22
[post_modified_gmt] => 2010-06-22 00:40:22
[post_content_filtered] =>
[post_parent] => 0
[guid] => http://localhost/wordpress/?p=54
[menu_order] => 0
[post_type] => post
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)
)
La suite, cependant, ne retourne rien.
<?php
echo wp_get_attachment_image(54, array('300', '300'));
?>
Ce que je fais mal?
OriginalL'auteur Constant Meiring | 2010-06-22
Vous devez vous connecter pour publier un commentaire.
La fonction
wp_get_attachment_image
obtient seulement une image qui a été transféré à wordpress, il n'est pas sortie une image dans le contenu du post.Vous avez à la sortie du contenu de la poste pour votre image par exemple.
Comme:
echo $attachments['post_content'];
Non, la fonction que vous avez donné est le bon, mais vous avez besoin de passer l'idée de l'attachement lui-même pas un post.
Ah ok merci. Mais il faut toujours retourner l'image avec la taille la plus proche de la taille spécifiée, n'est-ce pas?
Oui, lors du chargement des pièces jointes, il sera.
Le ci-dessus est une pièce jointe, et il ne charge pas bien. Serait-ce un bug?
OriginalL'auteur Aaron Harun
En fait, je ne pense pas que l'on a accepté la réponse répond vraiment à la question.
Votre problème est que vous êtes de passage dans la post id (
54
dans votre exemple; en général$post->ID
dans la note WP langage) àwp_get_attachment_image()
. Comme on peut le voir dans le codex, vous êtes censé utiliser le id de pièce jointe (voir$attachment_id
ci-dessous):En d'autres termes, vous avez à faire quelque chose comme ceci:
OriginalL'auteur rinogo
wp_get_attachment_image fonction peut accepter quatre valeurs comme vous pouvez le voir:
J'ai donc toujours utiliser:
Remarque: nous pouvons simplement utiliser get_the_ID() de passer l'id du post. et ici 700 largeur et 600 hauteur de l'attachement de l'image. nous pouvons également passer notre classe en tant que array( "classe" => "img-responsive" )
OriginalL'auteur Rinku