WordPress で勝手にリサイズされた1536pxの画像の正体。どこで設定している?

公開日:
WordPress で勝手にリサイズされた1536pxの画像の正体

4K スクリーンに対応用に、解像度の大きい画像ファイルをアップロードしていたときに気付いたこと。ふとサーバーの uploads フォルダ(画像を格納している場所)を確認してみると、WordPress のメディア設定で指定した記憶のない画像サイズで出力されているのを発見。

メディア設定には、縦横最大 920px と 1380px でリサイズするように記載しているものの、なぜか 1536px でリサイズされている様子。

横幅が1536pxの謎画像を発見

余計な画像は作成して欲しくないので、原因を特定します。

原因は WordPress 標準のリサイズ設定

テーマ内の function.php など、ソースコードを見ても 1536px でリサイズしている形跡なし。こうなると WordPress 本体の標準仕様である可能性が高い。もっと詳しく調査すると、その推測は当たっていました。

標準機能にある画像リサイズ機能

WordPress にはメディア設定で指定するサイズ以外にも、標準機能で提供される画像リサイズ機能があるようです。

  • 1536×1536 → リサイズの定義
  • 2048×2048 → リサイズの定義
  • 2560×2560 → 最大サイズの定義

これらのサイズは、設定画面や functions.php で定義されるものではありません。標準で提供される機能であり、functions.php で無効にできます。

なお 2560px で行われるリサイズは、ファイル名末尾に scaled が付与されるのが特徴です。(通常は画像サイズが付与)

標準のリサイズ定義設定を無効にする方法

fucntions.php へ記述して、これらのリサイズ機能を無効にする方法を紹介します。自動リサイズの定義、最大サイズの定義それぞれに対して設定を行います。

1536px または 2048px のリサイズを無効化する

add_action('init', function() {
  remove_image_size('1536x1536');
  remove_image_size('2048x2048');
});

2560px のリサイズを無効化する

add_filter( 'big_image_size_threshold', '__return_false' );

これで余計な画像が生成されなくなって、スッキリしました!

\ この記事をシェアする /

このブログの運営者

NJ

Web系メインで従事していた元システムエンジニア。現在は個人事業主として独立。Webサイト運営における「困った問題」の解決方法をブログで発信。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。