コアファイルを変更せずにwp_get_attachment_image()関数を置き換える方法はありますか。この関数にはアクションフックやフィルタフックはありません。
私が達成しようとしていること:
lazyloadプラグインの場合、画像htmlは次のように出力されます。
<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">
これの代わりに:
<img width="150" height="150" src="http://localhost/yxz/wp-content/uploads/2010/06/calliope.slide_-150x150.jpg" class="attachment-thumbnail" alt="calliope.slide">
画像の属性には wp_get_attachment_image_attributes
というフィルタがあります - うまく設計されたものもあります。
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');
それはdata-src
属性を追加します。それはあなたが必要としているもののように見えます。必要に応じて、属性を追加したり、既存の属性を変更したりできます。
functions.php
ファイルに別の関数を作成して、wp_get_attachment_image()
の代わりにそれを使用することができます。