Možná jste narazili na to, že v roli vývojáře témat je standardem vytvářet téma s ohledem na výkon webu. To znamená, abyste se ujistili, že obrázky vypisované ve vašem tématu nejsou v „plné“ velikosti, pokud by mohly mít více než 100 kilobajtů.
Dalším důvodem, proč při vypisování obrázků používat funkci wp_get_attachment_image()
, je využití funkcí atributu obrázku HTML ve WordPressu srcset
.
Další využití by bylo při vypisování příspěvků blogu s doporučenými obrázky. Jako vývojář tématu se chcete ujistit, že buď zadáte: (a) jednu z výchozích velikostí miniatur příspěvků, nebo (b) vytvořit vlastní velikost miniatur příspěvků.
V některých případech nemusíte použít vlastní velikost miniatur příspěvků. Místo toho však můžete použít výchozí velikost miniatury příspěvku, která bude dokonale vyhovovat vašim požadavkům.
Výchozí velikosti miniatur, které můžete použít, jsou následující:
-
thumbnail
(používá velikost 150px × 150px) -
medium
(používá velikost 300px × 300px) -
medium_large
(používá velikost 768px × 0px) - .
large
(používá velikost 1024px × 1024px)
V těchto případech můžete snadno určit, zda máte podobnou velikost, kterou chcete použít pro některou z těchto výchozích velikostí miniatur. Stačí, když v parametru $size
funkce the_post_thumbnail() použijete některý z výše uvedených řetězců.
Všimněte si, že tyto výchozí velikosti miniatur příspěvků jsou téměř všechny čtvercově oříznuté obrázky. To je pravděpodobně způsobeno maximálním prostorem, ze kterého lze obrázek vypsat – čtvercem. Aby se co nejvíce využil prostor, bylo rozhodnuto, že tyto výchozí velikosti miniatur příspěvků budou čtvercové.
Kdy použít vlastní velikost miniatur příspěvků
Jsou však případy, kdy potřebujete vyvést obrázek, který není čtvercový. Vezměte si například, že musíte přidat doporučený obrázek nad jednotlivý článek blogu pomocí funkce the_post_thumbnail()
.
Můžete použít následující kód, který vypíše featured obrázek vašeho článku o velikosti 1024px × 768px:
add_image_size( 'single-feature', 1024, 768, true );
A rychle identifikovat, co to znamená laicky řečeno:
- add_image_size() – vytvoření vlastní velikosti miniatury příspěvku
- ‚single-feature‘ – parametr
$name
, pouze název vlastní velikosti miniatury příspěvku - 1024 – parametr
$width
, šířka vlastní velikosti miniatury příspěvku - 768 – parametr
$height
, výška vlastní velikosti miniatury příspěvku - true – parametr
$crop
, znamená, zda (a) obrázek natvrdo oříznout, nebo (b) zmenšit do vlastní velikosti miniatury příspěvku. Více informací v dokumentech WP Dev
Jako doplňující informace: z příkladu byly zvoleny zadané šířka a výška (1024 × 768), protože se jedná o běžné velikosti, které se používají pro doporučené obrázky. To však nemusí znamenat, že nemůžete použít jinou velikost. Ujistěte se, že vidíte, co se nejlépe hodí k designu vašeho tématu, a použijte to.
Jak aktualizovat vlastní miniatury příspěvků
Jak budete testovat nové velikosti obrázků pro váš WordPress, všimnete si, že můžete mít problém s aktualizací šířky a výšky, aniž byste změnili $name
velikost vlastní miniatury příspěvku.
Vezměme si například, že máte starou velikost:
add_image_size( 'single-feature', 1024, 768, true );
Nyní ale potřebujete aktualizovat velikost této „jednofigurkové“ miniatury na následující:
add_image_size( 'single-feature', 1366, 768, true );
Vidíte, že změna se týkala šířky z 1024 na 1366. Ale jakmile obnovíte šablonu, ve které se má tato velikost zobrazit, bude stále zobrazovat svůj obrázek o šířce 1024. Jak to lze napravit?
Chcete-li to napravit, budete muset miniaturu přegenerovat.
Pro začátek se tedy ujistěte, že jste aktualizovali šířku a výšku miniatur, a poté nainstalujte plugin Regenerate Thumbnails. Postupujte podle pokynů pluginu a poté budete mít úspěšně přegenerované velikosti miniatur.
Přegenerování všech obrázků může nějakou dobu trvat, zejména pokud má váš web v knihovně médií mnoho obrázků.
Kam umístit funkci add_image_size
Funkce add_image_size()
nebude fungovat, pokud ji správně neumístíte do háčku akce WordPress after_setup_theme
. To znamená, že následující příklad kódu:
add_image_size( 'archive-featured', 792, 446, true );
Musí být uvnitř následujícího akčního háčku v souboru functions.php
vašeho tématu pod:
function ms_setup() {add_image_size( 'archive-featured', 792, 446, true );}add_action( 'after_setup_theme', 'ms_setup' );
Přidání funkce add_image_size v tématu Underscores
Velmi oblíbené startovací téma s názvem Underscores Theme nebo _s theme má dobré místo pro přidání funkce add_image_size()
.
Funkci vlastní velikosti miniatur příspěvku add_image_size()
můžete přidat pod řádek add_theme_support( 'post-thumbnails' );
v souboru functions.php
tématu Underscores.
Důvod, proč můžete přidat funkci add_image_size()
pod tuto položku, je ten, že se již nachází v rámci již zmíněného háčku akce after_setup_theme
.
Úryvek funkce přidání velikosti obrázku pro témata WordPress
Pokud chcete, můžete si níže uvedený úryvek funkce add_image_size v tématu Underscores zkopírovat pro budoucí použití:
/* * Custom post thumbnail sizes for use across the theme. * * @link https://developer.wordpress.org/reference/functions/add_image_size/ */add_image_size( $name, $width, $height, $crop );
Poznámka: Ujistěte se, že jste definovali parametry použité v tomto úryvku, abyste se ujistili, že se ve vašem tématu neobjeví žádné varování PHP. Výše uvedený úryvek slouží jako šablona, kterou můžete zkopírovat a vložit do funkcí svého tématu.
Závěr
Děkujeme vám za přečtení tohoto článku! Dejte mi prosím vědět, co si myslíte o vlastním nastavení velikosti miniatur příspěvků.
Pokud se vám tento článek líbil, možná vás bude zajímat Chyby tématu při nastavování vlastních typů příspěvků. Za prvé, neregistrujte ve svém tématu vlastní typy příspěvků!