不要なサムネイルを生成させず、かつ「srcset」を適用させたい。

Simplicityの特徴 フォーラム Simplicity2に関する話題何でも 不要なサムネイルを生成させず、かつ「srcset」を適用させたい。

  • このトピックには7件の返信、2人の参加者があり、最後にkenにより10年、 6ヶ月前に更新されました。
7件の返信スレッドを表示中
  • 投稿者
    投稿
    • #37954
      ken
      ゲスト

      現在、子テーマにて不要なサムネイルを生成しないコードをfunctions.phpに記述しているのですが、
      Wordpress4.4でサポートされたレスポンシブイメージの「srcset」が適用されず困っています。
      不要なサイズのサムネイルを生成させず、「srcset」を効かせるためにはどうしたらよいでしょうか?

      //不要なサイズを生成しない
      function remove_image_sizes( $sizes) {	
      	unset( $sizes['thumb100']);
      	unset( $sizes['thumb150']);
      	unset( $sizes['thumb320']);
      	unset( $sizes['thumb320_raw']);
      	return $sizes;
      }
      add_filter('intermediate_image_sizes_advanced', 'remove_image_sizes');
      
      //新たにサムネイルを生成
      add_image_size('thumb_300x150',300,150,true);

      ご教授の程宜しくお願いいたします。

    • #37970
      アバター画像わいひら
      キーマスター

      サイトのURLを掲載していただいでよろしいでしょうか。

      作者的観点からすれば、Simplicityを使うのであれば、コードに書いてあるサムネイルは不要ではないと思います。
      (※設定によっては、320関係のものは不要な場合もありますが)
      あと、不要なサムネイルを生成させないのと、srcsetがうまく動作しないのは、あまり関係がないのかなと思います。

    • #37976
      ken
      ゲスト

      ご返事ありがとうございます。

      質問していながら失礼だと思いますが、
      URLなしでご回答いただくことはできないでしょうか?

      作者的観点からすれば、Simplicityを使うのであれば、コードに書いてあるサムネイルは不要ではないと思います。

      なるべく、そままの形でSimplicityを使っていきたいなとは思ったのですが、それぞれのthumbXXXのサイズを変更をしたデザインにしたいが為に、それぞれの生成をunsetして新たに追加という方法を渋々とっております。(実際もっと上記コードにadd_image_sizeでunset分をもっと追加してます)

      thumbXXXで自動で追加される部分を子テーマにて自由に変更する方法はあったりするのでしょうか?

      あと、不要なサムネイルを生成させないのと、srcsetがうまく動作しないのは、あまり関係がないのかなと思います。

      上記のコードを記入しない場合はsrcsetの方の動作はしております。
      プラグイン等はすべてOFFで試しております。(記事内でsrcsetの動作をしたいです)

      上記コードを記入する前にアップロードしてある写真はすべてsrcsetが動作しております。
      コードを記入の状態でアップした画像のみがsrcsetが動作しない状態であります。
      なので、画像をアップロードする際に原因があったりするのかなとは思ったのですがどうなんでしょうか?

      お忙しいとは思いますが、お時間あるときにでもご返事していただけたら幸いです。

    • #37977
      Hidekichi
      ゲスト

      add_image_size( ‘thumb150’, 0, 0, true );

      関数を作らず、上記のようにサイズ0にしたらサムネイル作らないんじゃないですかね?
      何かしらにフックしてるのが問題だったりして。試してないのでわかりませんけど(笑)

    • #37979
      ken
      ゲスト

      Hidekichiさんありがとうございます。

      add_image_size( ‘thumb150’, 0, 0, true );
      子テーマに上記コードをやってみたのですが画像が生成されてしまいました。

      ただ、srcsetの方は動作いたしました。
      子テーマにてサイズをそれぞれ0に指定して、上書き?させるにはどうしたらいいんでしょう?

    • #37981
      ken
      ゲスト

      ごめんなさい、はじめにご質問を投稿した環境の場合でも「srcset」が動作することが判明しました。
      ただ、すべての画像というわけではなく、動作したりしなかったり。

      やっぱり、不要なサムネイルサイズを生成させないのと関係ないかもしれません。
      もう、自分でもいつ実行されないのか、よくわかんなくなってきましたw(質問しておきながらごめんなさい。)

      出来るとき
      XXX

      できない時
      XXX

      srcsetが出力されない感じです。画像サイズがサムネイル以上であればsrcsetが表示されるというわけでもなく、
      かなりサイズがデカめの画像でもsrcsetが出力されなかったり。どういう条件でsrcsetは実行される仕組みなのでしょうか。

    • #37987
      Hidekichi
      ゲスト

      > 子テーマに上記コードをやってみたのですが画像が生成されてしまいました。
      どんな画像でした?

      サイズが縦横0で、クロップされているということは、サイズのない画像かと思うんですけど、サイズがなければファイルサイズは無いも同じかと思うんですが、普通のサイズがあるサムネイルなんでしょうか?

      サムネイル自体はアップロードされて登録された時に作られると思いますが、srcsetは、htmlが作られる時ですかね?

      srcsetが作られたり作られなかったりは、CDNとかのキャッシュに影響されているんじゃなかろうかと思うんですがどうでしょう?
      例えばcloud flareとかjetpackのphotonとか。わいひらさんが言うサイトを見せて欲しいというのはこういうのが使われているかどうかのチェックかと思います。内部で処理されていることは外からは見えませんから、どういったプラグインが使われていて、どういったサーバーかというのを見てみたいと言うんだろうと思います。

      photonを利用されている場合は、著作権侵害で訴えられているぐらいの事がないといちいち運営に連絡するのは面倒ですし、個人的にはキャッシュを操作できませんから、使わないようにするしか無いです。キャッシュがどれぐらいで切れるのかは知りませんが、切れたら画像サイズの設定が終わっていればその状態でキャッシュれるかと思います。

      srcsetがないとレスポンシブにできないかというとそういうわけではないので、無ければない、できたら無い方が楽と個人的には思います。
      普通にサイズ設定をunsetすれば、問題ないはずですが、質問の文章から答えられるのはこれぐらいですかね。

    • #37994
      ken
      ゲスト

      ご返事ありがとうございます。

      max_srcset_image_width

      というものが原因でした。デフォルトの仕様でsrcsetを動作させる上限が1600pxに設定されていたみたいです。

      function new_srcset_max($max_width) {
          return 2000;
      }
      
      add_filter('max_srcset_image_width', 'new_srcset_max');

      で変更し、一応解決いたしました。
      ご迷惑いろいろとおかけいたしました。

7件の返信スレッドを表示中
  • トピック「不要なサムネイルを生成させず、かつ「srcset」を適用させたい。」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)