7
votes

Manière correcte d'utiliser wp_get_attachment_image () dans WordPress

Je cherche la bonne façon d'utiliser wp_get_attachment_image ().

Le code suivant: p> xxx pré>

génère le résultat suivant: p>

<?php
    echo wp_get_attachment_image(54, array('300', '300'));
?>


1 commentaires

Vous devez lui donner un identifiant d'une pièce jointe Qu'est-ce que vous avez mal fait était le $ args param - Il n'y a pas de type type param, correct est 'post_type' => 'Pièce jointe' :) Par défaut par défaut de publier ( post_type est ), vous donniez c'est un identifiant de "post", pas "pièce jointe" :)


3 Réponses :


3
votes

La fonction wp_get_attachment_image obtient uniquement une image téléchargée sur WordPress, elle ne génère pas d'image dans le contenu du poste.

Vous devez émettre le contenu de la poste pour votre exemple d'image.

J'aime: Echo $ accessoires ['post_content'];


6 commentaires

Donc, WordPress n'a pas de fonction interne pour obtenir une image téléchargée à une taille spécifique?


Non, la fonction que vous avez donnée est la bonne, mais vous devez le transmettre l'idée de la pièce jointe elle-même pas un post.


Ah ok merci. Mais il devrait 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 le fera.


Ce qui précède est une pièce jointe et cela ne le charge pas cependant. Cela pourrait-il être un bug?


Regardez le post_type. Ce n'est pas une pièce jointe.



11
votes

En fait, je ne pense pas que la réponse acceptée répond vraiment à la question.

Votre problème est que vous passez dans l'identifiant post ( 54 Votre exemple; typiquement $ post-> id dans WP Parlance) à wp_get_attachment_image () . Comme on peut le voir dans le Codex , vous êtes censé utiliser ID de pièce jointe (voir $ pièce jointe_id ci-dessous): xxx

En d'autres termes, vous devez faire quelque chose comme ceci: < / p> xxx


0 commentaires

4
votes

wp_get_attachment_image fonction peut accepter quatre valeurs que vous pouvez voir: xxx

donc j'utilise toujours: xxx

Note: nous pouvons simplement Utilisez get_the_id () pour passer l'identifiant de poste actif. Et ici 700 est la largeur et 600 est hauteur de l'image de fixation. Nous pouvons également passer notre classe comme tableau ("classe" => "img-sensible")


0 commentaires