Как отключить WordPress от создания миниатюр?

17

Я долго искал в сети, как отключить WordPress от создания нескольких миниатюр.

Я видел в большинстве уроков, чтобы установить все изображения на 0 в разделе СМИ. Я сделал это, но захожу в папку загрузок, и она по-прежнему создает несколько изображений.

Я не могу найти никакого решения для этого. Причина, по которой я хочу это, состоит в том, чтобы сэкономить место на моей учетной записи хоста.

Даниил
источник
Пожалуйста, отключите все плагины и переключитесь на тему по умолчанию. Тогда вы сможете установить все размеры изображений 0и не давать WP генерировать эти размеры. Если это не работает, пожалуйста, сообщите. Если это работает, то есть какой-то плагин или тема, мешающая.
Кайзер

Ответы:

14

Чтобы построить ответ Макса Юдина, вы должны использовать intermediate_image_sizes_advancedфильтр, а не image_size_names_choose. Добавить в functions.php

function add_image_insert_override($sizes){
    unset( $sizes['thumbnail']);
    unset( $sizes['medium']);
    unset( $sizes['large']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'add_image_insert_override' );

Еще один более простой вариант, я думаю, работает: перейдите в «Настройки» -> «Мультимедиа» и установите для каждого поля ширину и высоту 0

Уик
источник
9

Вы также можете отфильтровать промежуточные_изображения с пустым массивом.

 add_filter( 'intermediate_image_sizes', '__return_empty_array' );
Chris_O
источник
3

Если я правильно помню, у вас есть unsetвсе значения по умолчанию и добавить новое Sizeтам:

    <?php
function mxdCustomImageSizes($sizes) {
    unset( $sizes['thumbnail']);
    unset( $sizes['medium']);
    unset( $sizes['large']);
    unset( $sizes['full'] );

    $myimgsizes = array(
        'full-size' => __( 'Full Size' )
    );
    if( !empty($sizes) )
        return array_merge($sizes, $myimgsizes);
    else
        return $myimgsizes;
}
add_filter('intermediate_image_sizes_advanced', 'mxdCustomImageSizes');

А затем добавьте full-sizeразмер, который 99999x99999чуть ниже того размера, который почти невероятен, так же как и полный размер.

add_image_size( 'full-size', 99999, 99999, false );

Пожалуйста, поправьте меня, если что-то пойдет не так

PS Вам понадобится плагин, чтобы «сохранить как» все ваши изображения в соответствии с вашими новыми настройками. Я могу порекомендовать плагин Regenerate Thumbnails.

PPS Когда это единственный вариант, вам придется выбрать один из них :). Нет прямого способа сделать один размер выбранным в новом (3.5.1) окне мультимедиа.

Макс Юдин
источник
Привет Макс Я думаю, что это неправильный фильтр, image_size_names_chooseдля вывода при выборе изображений в окне мультимедиа.
Wyck
Да ты прав. Спасибо за информацию, теперь я должен пересмотреть некоторые вещи, которые я уже сделал.
Макс Юдин
2

Перейдите на страницу « Настройки»> «Медиа» панели управления WordPress. В разделе Размеры изображения измените все значения на 0.

СМИ Settimgs

Сохраните изменения. Это остановит создание WordPress миниатюр, средних и больших размеров каждого загружаемого вами изображения.

Вы также заметите, что при вставке изображения выпадающий список «Размер» отсутствует.

карите
источник
1
Это не работает!
Али Хашеми
@Pazis Это работало в более старой версии WordPress, но, похоже, не работает в 4.0
shea
0
function remove_default_image_sizes( $sizes) {
    unset($sizes['thumbnail']);
    unset($sizes['medium']);
    unset($sizes['large']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced','remove_default_image_sizes');

Не забывай return $sizes;любить это.

Затем добавьте новые размеры изображений, как ...

if(function_exists('add_image_size')){
    add_image_size('my_100x100_crop',100,100,true); // Crop mode
    add_image_size('my_100x100_resize',100,100); // Resize mode
}

Проверено!

l2aelba
источник
1
Это удаляет размеры из «Вставить в пост», но Wordpress по-прежнему генерирует миниатюры!
Али Хашеми
0

Для последней версии WordPress с активированным плагином WooCommerce используйте этот код:

function add_image_insert_override($sizes){
    unset($sizes['thumbnail']);
    unset($sizes['medium']);
    unset($sizes['medium_large']);
    unset($sizes['large']);        
    unset($sizes['blog-isotope']);
    unset($sizes['product_small_thumbnail']);
    unset($sizes['shop_catalog']);
    unset($sizes['shop_single']);
    unset($sizes['shop_single_small_thumbnail']);
    unset($sizes['shop_thumbnail']);
    unset($sizes['woocommerce_thumbnail']);
    unset($sizes['woocommerce_single']);
    unset($sizes['woocommerce_gallery_thumbnail']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'add_image_insert_override' );
add_filter('max_srcset_image_width', create_function('', 'return 1;'));

Но было бы здорово, если вы оставите одну маленькую миниатюру ( thumbnail) и одно изображение среднего размера (medium ).

PS Вы можете увидеть все зарегистрированные размеры, установив плагин Regenerate Thumbnails . И не забывайте о add_image_size()создании на стороне темы.

Богдан
источник