Aktualizováno 1. 2. 2024
Obrázky jsou klíčovým prvkem na každé webové stránce, ale někdy může být obtížné udržet správu různých velikostí náhledů. V tomto článku se podíváme na jednoduchý a efektivní způsob, jak odebrat nepotřebné miniatury, které se vytváří při nahrávaní obrázků do WordPress.
Kromě hotových šablon, které málokdy dbají na efektivitu tak od verze WordPress 5.3 byly zavedené další velikosti obrázků, popis naleznete zde: https://github.com/WordPress/WordPress/blob/master/wp-includes/media.php
Smaže mi tento snippet již vytvořené nepotřebné náhledové obrázky?
Ne, snippet je dobré použit před nasazením šablony, případně v průběhu vývoje webu nebo klidně již na produkční verzi. Snippet deaktivuje vytváření nevhodných nebo nepotřebných rozměrů náhledových obrázků (miniatur). Všechny miniatury, které byly vytvořené na serveru před použitim snippetu je nutné fyzicky smazat.
Ke smazaní takových obrázků použijte vhodný plugin, například:
ThubmPress mimo jiné nabízí deaktivaci generování rozměru též, avšak jeho úspěšnost není 100 %
Pojďme si ukázat jak nepotřebné rozměry deaktivujeme pomoci snippetu.
Snippet pro zákaz některých rozměrů při uploadu obrázků přímo WordPressem
V snippetu se zaměříme na odstranění konkrétních velikostí náhledů a to 2048 px a 1536 px. Někdy jednoduše může být žádoucí odstranit určité velikosti, které nejsou potřebné nebo vhodné pro konkrétní design stránky. Snippet níže můžeme elegantně zakázat některé zbytečné velikosti.
// Zakázat vytváření definovaných velikosti při uploadu
function remove_some_image_sizes() {
$sizes_to_remove = array( '1536x1536', '2048x2048' );
foreach ( get_intermediate_image_sizes() as $size ) {
if ( in_array( $size, $sizes_to_remove ) ) {
remove_image_size( $size );
}
}
}
add_action('init', 'remove_some_image_sizes');
Ponecháme povolené generování pouze základní velikostí náhledových obrázků ve WordPress
Snippetem níže ponecháme pouze velikosti, které jsou definované napřiklad v Natavení > Média
function remove_image_sizes() {
// Výčet povolených rozměrů
$allowed_sizes = array( 'thumbnail', 'medium', 'medium_large', 'large' );
// Zakaž rozměry, které nejsou povolené výše
foreach (get_intermediate_image_sizes() as $size) {
if (!in_array($size, $allowed_sizes)) {
remove_image_size($size);
}
}
}
add_action('init', 'remove_image_sizes');
Co dělat pokud mi šablona generuje nepotřebné velikosti náhledu obrázku při uploadu?
Pokud šablona WordPress generuje nepotřebné náhledy při uploadu obrázků lze je odstranit podobným snippetem. Vyhledejte funkci/názvy těchto rozměrů/náhledu obvykle v functions.php nebo nějaké jiné součásti šablony a nadefinujte jejich zákaz, například takto:
function theme_remove_image_sizes() {
$sizes = array(
'liquid-style1-lb',
'liquid-style3-lb',
'liquid-style4-lb',
'liquid-style5-lb',
'liquid-style6-lb',
'liquid-portfolio-sq',
'liquid-portfolio-big-sq',
'liquid-portfolio-portrait',
'liquid-portfolio-wide',
'liquid-packery-wide',
'liquid-packery-portrait',
);
foreach ($sizes as $size) {
remove_image_size($size);
}
}
add_action('after_setup_theme', 'theme_remove_image_sizes');