Die Größenänderung wurde bereits durchgeführt, um die Größen groß / mittel / daumen zu erstellen. Das Problem besteht jedoch darin, dass das Bild zu groß ist, um die Größe zu ändern, entweder aufgrund von Speichermangel oder Zeitmangel.
Eine Größenänderung ist also keine Option, wenn dies nicht der Fall wäre, hätten Sie Ihr Problem nicht. Versuchen Sie stattdessen, die Anzahl der Bilder einzuschränken. Wenn also ein Upload von 20 MB erfolgt, wird eine Meldung abgelehnt, die angibt, dass die Größe verkleinert werden muss.
Begrenzung basierend auf Bildfläche / Megapixeln:
<?php
/**
* Plugin Name: Deny Giant Image Uploads
* Description: Prevents Uploads of images greater than 3.2MP
*/
function tomjn_deny_giant_images($file){
$type = explode('/',$file['type']);
if($type[0] == 'image'){
list( $width, $height, $imagetype, $hwstring, $mime, $rgb_r_cmyk, $bit ) = getimagesize( $file['tmp_name'] );
if($width * $height > 3200728){ // I added 100,000 as sometimes there are more rows/columns than visible pixels depending on the format
$file['error'] = 'This image is too large, resize it prior to uploading, ideally below 3.2MP or 2048x1536';
}
}
return $file;
}
add_filter('wp_handle_upload_prefilter','tomjn_deny_giant_images');
Begrenzung basierend auf Breite oder Höhe:
/wordpress//posts/67110/revisions
<?php
/** Plugin Name: (#67107) »kaiser« Restrict file upload */
function wpse67107_restrict_upload( $file )
{
$file_data = getimagesize( $file );
// Handle cases where we can't get any info:
if ( ! $file_data )
return $file;
list( $width, $height, $type, $hwstring, $mime, $rgb_r_cmyk, $bit ) = $file_data;
// Add conditions when to abort
if ( $width > 2048 )
$file['error'] = 'Error statement';
return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'wpse67107_restrict_upload' );
Die Begrenzung nach Bereich würde große / dünne oder breite / kurze Bilder ermöglichen, deren Größe geändert werden kann. Die Begrenzung nach Abmessungen ist möglicherweise einfacher zu erklären