web-dev-qa-db-fra.com

remplace wp_get_attachment_image par ma propre fonction

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">
4
Towfiq

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.

6
s_ha_dum

Vous pouvez créer une autre fonction dans votre fichier functions.php, puis l’utiliser à la place de wp_get_attachment_image().

0
RRikesh