Comment puis-je remplacer la fonction wp_get_attachment_image () sans changer les fichiers de base. La fonction n'a pas de crochet d'action ou de filtre.
Ce que j'essaie de réaliser:
pour le plugin lazyload, affichez l'image html comme ceci:
<img width="150" height="150" data-src="http://localhost/yxz/wp-content/uploads/2010/06/calliope.slide_-150x150.jpg" class="attachment-thumbnail" alt="calliope.slide" src="http://localhost/yxz/wp-content/uploads/blank.png">
au lieu de cela:
<img width="150" height="150" src="http://localhost/yxz/wp-content/uploads/2010/06/calliope.slide_-150x150.jpg" class="attachment-thumbnail" alt="calliope.slide">
Il existe un filtre, wp_get_attachment_image_attributes
, pour les attributs d’image - bien conçu également.
function alter_att_attributes_wpse_102079($attr) {
$attr['data-src'] = $attr['src'];
return $attr;
}
add_filter( 'wp_get_attachment_image_attributes', 'alter_att_attributes_wpse_102079');
Cela va ajouter l'attribut data-src
. Cela ressemble à ce dont vous avez besoin. Vous pouvez ajouter plus d'attributs ou modifier ceux existants, si vous en avez besoin.
Vous pouvez créer une autre fonction dans votre fichier functions.php
, puis l’utiliser à la place de wp_get_attachment_image()
.