2017-08-04 19 views
2

Wordpressは、投稿からのすべての画像にsrcsetsizes属性を自動的に追加します。それはとても素敵です。Wordpress:カスタマイザの画像に「srcset」と「sizes」属性を追加する

しかし、私はどのようにWordPressにこれらの属性をカスタマイザの入力から来る画像に追加するのですか?

私の場合:投稿のデフォルト画像。投稿に画像がアップロードされていないときは、そのデフォルト画像が表示されます。これは、ユーザがカスタマイザを介してアップロードし、get_theme_modを使用して呼び出されます。

ポストからの画像(は、すべての属性が追加され、罰金に動作します):

get_the_post_thumbnail($post->ID, 'news', array('class' => 'img-responsive')); 

を全く画像が提供されていない場合:デフォルトのイメージがロードされている(no 'をscrset' と 'サイズ'

'<img src="' . esc_url(get_theme_mod('default_image')) . '" alt="default image" class="img-responsive" />' 

wp_image_add_srcset_and_sizes()が行く方法だと思われますが、属性が必要です。どこから取得するのかわかりません。

ありがとうございました!

答えて

0

この機能は、トリックを行います。

function create_responsive_image($img) { 
    $img_id = attachment_url_to_postid($img); 
    $img_srcset = wp_get_attachment_image_srcset($img_id); 
    $img_sizes = wp_get_attachment_image_sizes($img_id); 
    return '<img src="' . $img . '" srcset="' . esc_attr($img_srcset) . '" sizes="' . esc_attr($img_sizes) . '">'; 
} 
関連する問題