WordPress как на ладони

[РЕШЕНО 50%] Image большой высоты

Гружу на сервер картинку 7000х10000, получаю старую ошибку. Все промежуточные размеры и ограничения по размерам отключены.

Post-processing of the image failed likely because the server is busy or does not have enough
resources. Uploading a smaller image may help. Suggested maximum size is 2500 pixels.

методом тыка, определил что функция доходит до _wp_make_subsizes, и в месте "$new_size_meta = $editor->make_subsize( $new_size_data );" обрывается.
Функция не может обработать миниатюру 2000x2000, ставлю 2000х1600, функция обрабатывается.

Подскажите куда копать ?? ресурсы увеличивал на максимум, не помогает, неужели есть разница в использовании ресурсов при создании ( 2000x2000 - 2000х1600 ) ?

0
kolshix
3.6 лет назад 779
  • 0
    el-lable620 el-lable.ru
    /* add custom image sizes */
    add_theme_support( 'post-thumbnails' );
    if ( function_exists( 'add_image_size' ) ) {
    	//add_image_size( 'scan', 240, 300, true );
    	//add_image_size( 'gallery', 160, 220, true );
    	//add_image_size( 'article-thumbnail', 400, 270, true );
    	//add_image_size( 'article-images', 450, 340, true );
    	//add_image_size( 'carousel', 350, 250, true );
    }
    Комментировать
  • 0
    el-lable620 el-lable.ru

    как то так

    kolshix 3.6 лет назад

    Обязательно проверю...
    Не помогло, всеравно бьёт ошибку

    переключил версию на 7.3 - заработало , сравнил настройки и модули
    Проблема в
    imagick

    почему не хочет с большими работать не знаю, но иногда придется ручками переключать
    Почитал Исправляем ошибки при загрузке картинок в WordPress и понравилось :

    function wp_default_image_editor( $editors ) {
    	$gd_editor = 'WP_Image_Editor_GD';
    	$editors = array_diff( $editors, array( $gd_editor ) );
    	array_unshift( $editors, $gd_editor );
    	return $editors;
    }
    add_filter( 'wp_image_editors', 'wp_default_image_editor' );

    буду искать куда врезаться чтоб проверять ширину и высоту изображения перед загрузкой и включать фильтр , вероятно можно в "wp_generate_attachment_metadata" врезаться с первоочередным приоритетом и выбрать нужное.

    решение

    толком куда врезаться не нашел , но есть функция проверки на сжатие родителя до допустимых по меркам вордпресс размеров "big_image_size_threshold" - вот туда и врезался

    // by Kolshix
    // Test WP more then 5.4.2 and jpg
    // Проверил на WP версии старше 5.4.2 и только для jpg
    function wpb_image_editor_default_to_gd( $editors ) {
    			$gd_editor = 'WP_Image_Editor_GD';
    			$editors = array_diff( $editors, array( $gd_editor ) );
    			array_unshift( $editors, $gd_editor );
    			return $editors;
    		}           
    add_filter( 'big_image_size_threshold', 'filter_choice_of_extension_612', 10, 4 );
    
    function filter_choice_of_extension_612( $threshold, $imagesize, $file, $attachment_id  ){          
    			$file_data_198 = getimagesize( $file );         
    			if ( $file_data_198[0] > 6000 || $file_data_198[1] > 6000 ) {   
    				add_filter( 'wp_image_editors', 'wpb_image_editor_default_to_gd' );
    			}
    			return $threshold;
    		}
    // фильтр запрета создания scale изображений 
    add_filter( 'big_image_size_threshold', '__return_zero' );
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация