web-dev-qa-db-ja.com

Wordpressは、アップロードされたサイズと同じサイズに画像のサイズを変更します

さまざまな画像サイズを使用するテーマを書いています。

WP Adminの[設定]> [メディア]で設定されているターゲットサイズは次のとおりです。

enter image description here

サムネイルサポートのfunctions.phpコードは次のとおりです。

$THUMBNAIL_SIZE = 320;
$MEDIUM_SIZE = 460;
$LARGE_SIZE = 1366;


if (function_exists('add_theme_support')) { 
  add_theme_support('post-thumbnails');

  set_post_thumbnail_size(        $THUMBNAIL_SIZE,  9999);
  add_image_size( 'medium-size',  $MEDIUM_SIZE,  9999 ); 
  add_image_size( 'large-size',  $LARGE_SIZE, 9999 );
}

ご覧のとおり、サイズは幅320ピクセル、幅460ピクセル、幅1366ピクセルです。

問題は、1366px幅の画像をアップロードすると、元のファイルがアップロードされ、320px、460pxおよび1366pxのサイズ変更された画像が追加で作成されることです。

例えば。

アップロード

  • someimage.jpg(幅1366ピクセル)

OUTPUT(in/uploads/2015/08 /)

  • someimage.jpg

  • someimage-1366x937.jpg

  • someimage-460x316.jpg

  • someimage-320x220.jpg

私が見ることができるのは、自動作成されたsomeimage-1366x937.jpgが圧縮されていることです。


私の以前の経験では、アップロードされた画像が指定された最大サイズと同じサイズだった場合、複製は作成されませんでした。

元のアップロードと同じ幅のこれらの複製された画像は必要ありません。それらは単にストレージスペースを浪費しているだけです。

Wordpress 4.3を使用しています。プラグインはまだ追加されていないので、Wordpressコアが実行していることは間違いありません。バージョン4.3を更新する前にこれを経験したことはありません(以前にバージョン4.0を使用し、WP 4.3がリリースされた後、再び。


更新:

これが私の画像編集プロセスです

私は常に必要な最大サイズに画像のサイズを変更します。 1366ピクセル幅の画像が必要な投稿もあれば、460ピクセル幅の画像のみが必要な投稿もあります。

どんなシナリオが当てはまる場合でも、Wordpressに、アップロードした画像を取り、圧縮された複製を再作成しないようにします。さらに、すべての小さいサイズを作成する必要があります。

これの意味は:

  • 1366pxアップロード-> 460pxおよび320pxを作成

  • 460pxアップロード---> 320pxを作成

1
Drunken Master

WordPressをインストールしたときの大きいサイズと同じサイズの画像をアップロードする場合は、設定 - >メディアであなたの大きいサイズを0x0に設定するか、次の行を削除します。

add_image_size( 'large-size',  $LARGE_SIZE, 9999 );

編集#1:

元の画像を削除するには、このフィルタを追加してみてください。

add_filter('wp_generate_attachment_metadata', 'delete_fullsize_image');
function delete_fullsize_image($metadata) {
    $upload_dir = wp_upload_dir();
    $full_image_path = trailingslashit($upload_dir['basedir']) . $metadata['file'];
    $deleted = unlink($full_image_path);

    return $metadata;
}

アップロード後に元の画像を削除し、生成されたものだけを残します。

編集#2:

これら2つのプラグイン(未テスト)を確認してください。自動的に実行するのに役立つかもしれません。

1
Ciprian