Як відключити WordPress від створення ескізів?


17

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

Я бачив у більшості навчальних посібників, щоб встановити всі зображення на 0 у розділі медіа. Я це зробив, але перейшовши до своєї папки завантажень, вона все ще створює кілька зображень.

Я не можу знайти жодного рішення для цього. Я хочу, щоб це було в економії місця на моєму хост-рахунку.


Вимкніть будь-які плагіни та перейдіть до теми за замовчуванням. Тоді ви маєте змогу встановити всі розміри зображення 0та не дозволяти WP генерувати ці розміри. Якщо це не працює, повідомте про це. Якщо це працює, значить, якийсь плагін або тема заважає.
кайзер

Відповіді:


14

Для побудови відповіді Макса Юдіна слід використовувати intermediate_image_sizes_advancedфільтр, а не image_size_names_choose. Додати в функции.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

Ви також можете фільтрувати intermediate_image_size з порожнім масивом.

 add_filter( 'intermediate_image_sizes', '__return_empty_array' );

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призначений для виводу при виборі зображень у вікні медіа.
Вік

Так, ти правий. Дякую за інформацію, тепер мені доведеться переглянути деякі речі, які я вже зробив.
Макс Юдін

2

Перейдіть на сторінку Налаштування> Медіа на інформаційній панелі WordPress. У розділі Розміри зображень змініть усі значення на 0.

Media Settimgs

Збережіть зміни. Це зупинить WordPress, створюючи ескізи, середні та великі розміри кожного завантаженого зображення.

Ви також помітите, що коли ви переходите вставляти зображення, відсутнє спадне поле "Розмір".


1
Це не працює!
Алі Хашемі

@Pazis Він працював у більш старій версії WordPress, але, здається, не працює в 4.0
she

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
}

Перевірено!


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()створення на темі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.