Jak wyłączyć WordPress z tworzenia miniatur?


17

Długo rozglądałem się po Internecie, jak wyłączyć WordPress z tworzenia wielu miniatur.

Widziałem w większości samouczków, aby ustawić wszystkie obrazy na 0 w sekcji mediów. Zrobiłem to, ale przechodzę do mojego folderu przesyłania i nadal tworzy wiele zdjęć.

Nie mogę znaleźć na to żadnego rozwiązania. Powodem tego jest oszczędność miejsca na koncie hosta.


Wyłącz wszystkie wtyczki i przejdź do domyślnego motywu. Następnie powinieneś być w stanie ustawić wszystkie rozmiary obrazów 0i powstrzymać WP przed generowaniem tych rozmiarów. Jeśli to nie zadziała, zgłoś się. Jeśli to działa, oznacza to, że niektóre wtyczki lub motywy zakłócają.
— kaiser

Odpowiedzi:


14

Aby zbudować odpowiedź Maxa Yudina, powinieneś użyć intermediate_image_sizes_advancedfiltra, a nie image_size_names_choose. Dodaj do 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' );

Inną łatwiejszą opcją, którą moim zdaniem działa, jest przejście do Ustawień -> Media i ustawienie każdego pola dla szerokości i wysokości do 0


9

Możesz także filtrować rozmiary_pośrednich_obrazów za pomocą pustej tablicy.

 add_filter( 'intermediate_image_sizes', '__return_empty_array' );

3

Jeśli dobrze pamiętam, musisz wprowadzić unsetwszystkie wartości domyślne i dodać nowe 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');

A następnie dodaj full-sizerozmiar, 99999x99999poniżej którego rozmiar jest prawie niewiarygodny, więc jest pełny.

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

Popraw mnie, jeśli coś pójdzie nie tak

PS Potrzebujesz wtyczki, aby „zapisać” wszystkie swoje zdjęcia zgodnie z nowymi ustawieniami. Mogę polecić wtyczkę Regenerate Thumbnails.

PPS Gdy jest to pojedyncza opcja, w każdym razie musisz wybrać jedną z nich :). Nie ma prostego sposobu na wybranie jednego rozmiaru w nowym oknie (3.5.1) Media.


Cześć Max Myślę, że to zły filtr, image_size_names_choosejest do wyjścia, gdy wybierzesz obrazy w polu multimediów.
— Wyck

Tak masz rację. Dziękuję za informację, teraz muszę zrewidować niektóre rzeczy, które już zrobiłem.
— Max Yudin

2

Odwiedź stronę Ustawienia> Media na pulpicie nawigacyjnym WordPress. W sekcji Rozmiary obrazu zmień wszystkie wartości na 0.

Media Settimgs

Zapisz zmiany. Dzięki temu WordPress nie będzie generował miniaturek, średnich i dużych rozmiarów każdego przesyłanego obrazu.

Zauważysz również, że kiedy wstawiasz obraz, brakuje pola rozwijanego „Rozmiar”.


1
To nie działa!
— Ali Hashemi,

@Pazis Działa w starszej wersji WordPress, ale wydaje się, że nie działa w wersji 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');

Nie zapomnij return $sizes;tego polubić.

Następnie dodaj nowe rozmiary obrazów, takie jak ...

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
}

Przetestowany!


1
To usuwa rozmiary z „Wstaw do postu”, ale Wordpress nadal generuje miniatury!
— Ali Hashemi,

0

Aby uzyskać najnowszą wersję WordPress z aktywowaną wtyczką WooCommerce, użyj tego kodu:

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;'));

Byłoby jednak świetnie, gdybyś zostawił jedną małą miniaturę ( thumbnail) i jeden obraz średniej wielkości ( medium).

PS Możesz zobaczyć wszystkie zarejestrowane rozmiary, instalując wtyczkę Regenerate Thumbnails . I nie zapomnij o add_image_size()generowaniu po stronie motywu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.