Vypredané miniatúry php. Get_the_post_thumbnail () – umožňuje získať obrázok miniatúry príspevku. # 3 Odkaz na miniatúru na pôvodnú veľkosť

  • 03.11.2019

Pokračovaním v téme miniatúr wordpressu chcem pouvažovať o veľmi užitočnom doplnku, ktorý môže veci v niektorých situáciách značne zjednodušiť. Predstavte si, že blogujete už niekoľko rokov, povedzme, začali ste niekde v roku 2009 a teraz chcete zmodernizovať vzhľad (šablónu) pridaním moderných možností na stránku, napríklad tých istých. Vzhľadom na to, že podpora miniatúr vo wordpresse bola zavedená oveľa neskôr, vaše obrázky sú zrejme v článku priamo v texte.

Ukazuje sa, že máte 2 možnosti riešenia problému – buď to použijete, alebo manuálne vytvoríte miniatúry pre každý článok. V prvom prípade je to pocit „núteného“ a nie celkom optimálneho riešenia, ten druhý vás môže prinútiť aj 4-5 hodín hrania sa s obrázkami. Našťastie som nedávno našiel tretiu možnosť - Doplnok Auto Post Thumbnail.

Tento modul vám umožňuje generovať miniatúry z prvého obrázka v texte pre akýkoľvek blogový príspevok alebo vlastný typ príspevku. Ak sa nenájde prvý obrázok, doplnok bude automaticky pokračovať vo vyhľadávaní, kým sa nevytvorí miniatúra. V prípade, že sú už pre záznam nastavené miniatúry, nič sa nestane. Princíp fungovania je skrátka mimoriadne jednoduchý a logický. Mimochodom, ak z nejakého dôvodu chcete zakázať vytváranie miniatúry pre konkrétny príspevok, vytvorte vlastné pole (vlastné pole) skip_post_thumb v príslušnom príspevku.

Inštalácia pluginu je elementárna a vykonáva sa ako kompletný systém: klasickým spôsobom je stiahnutie súborov modulu z oficiálnej webovej stránky, rozbalenie a nahranie na FTP v adresári /wp-content / plugins / s následnou aktiváciou v "Pluginy". " sekcia z administračného panela; alebo v položke ponuky „Pridať plugin“ vyhľadajte modul s názvom „Automatická miniatúra príspevku“, kde si ho stiahnete a aktivujete. To je všetko!

Po inštalácii budete mať novú položku ponuky - Miniatúra automatického príspevku, kde je na spustenie len jedno tlačidlo – Generovať miniatúry. Je tam aj poznámka, ktorú som spomínal vyššie – pred spustením sú požiadaní o nastavenie vlastných skip_post_thumb polí pre príspevky, kde nechcete nič generovať. Ak žiadne nie sú, stačí kliknúť na tlačidlo.

O priebehu spracovania všetkých blogových príspevkov budete informovaní pomocou špeciálneho stavového riadku. Po dokončení spracovania sa zobrazí príslušné upozornenie. Podobné automatické generovanie miniatúr sa vykonáva aj pri zmene, ale na tieto účely používajú Regenerate Thumbnails.

Môžete si prejsť príspevky, aby ste sa uistili, že tento doplnok funguje správne. Odporúčam vám tiež skontrolovať vzhľad blogu a správnosť zobrazovania príspevkov. Existuje šanca, že pre vybratú šablónu wordpress ste predvolene pridali do kódu zobrazenie miniatúr. V dôsledku toho dostanete niečo také (keď sa zobrazí obrázok z príspevku aj miniatúra):

Prvá vec, na ktorú by ste mohli myslieť, je, že musíte odstrániť obrázky z príspevkov. Ale neponáhľajte sa s tým, inak sa ukáže opäť práca navyše - potom bolo možné najskôr nespustiť doplnok, ale prejsť všetky články blogu manuálne a zmeniť obrázok na miniatúru. Aby sme tieto chyby opravili, vykonáme v šablóne iba niekoľko úprav.

Najprv otvorte súbory, ktoré sú zodpovedné za zobrazenie zoznamu blogových príspevkov – index.php, home.php alebo archive.php, catagory.php, tag.php, kde nájdeme funkciu zobrazenia textu obsah(spomenul som to v príspevku o) a zmeňte to na:

Tento kód zobrazí krátke oznámenie o blogovom príspevku bez zvýraznenia a obrázkov, iba v textovej forme. Ďalej v súbore šablóny pre zobrazenie plného textu príspevku (single.php) naopak nájdeme funkciu miniatúry miniatúry príspevku a už ju vymažeme. Zvyčajne sa zobrazuje s nasledujúcim kódom:

"alignleft post_thumbnail")); )?>

"alignleft post_thumbnail")); )?>

V dôsledku toho by sa malo ukázať, že na všetkých stránkach so zoznamami správ sa zobrazia miniatúry + krátky text a na celých príspevkoch - všetok dizajn a obrázky, ktoré zadáte v editore. Riešenie je podľa mňa dostatočne flexibilné a doplnok Auto Post Thumbnail funguje skvele! Mimochodom, ak si kupujete stránky a občas musíte prerobiť vyslovené GS na viac či menej krásne projekty, tento modul sa vám určite zíde – môžem povedať z vlastnej skúsenosti. Aj keď v zásade existuje iná možnosť riešenia problému - je to, ale je tam viac kódu a musíte sa v ňom lepšie orientovať.

Na mnohých blogoch nájdete vedľa popisu príspevkov malú (veľkú) miniatúru, ktorá by mala vyjadrovať obsah príspevku. Istý čas to nebolo ľahké vytvoriť. S príchodom Wordpress 2.9 je to oveľa jednoduchšie.

V tomto návode vám ukážem, ako pridať túto funkciu do vašich šablón Wordpress.

ZapínaniePo miniatúre funkcie v šablónach

Zapínanie je veľmi jednoduché. Všetko, čo musíte urobiť, je pridať jeden riadok do súboru functions.php:

Add_theme_support („následné miniatúry“);

Vkladanie miniatúr pre príspevky

Keď prejdete na panel správcu v sekcii na písanie nového príspevku, mala by sa vám na bočnej strane stránky zobraziť nová sekcia.

Všimnite si, že nové oddelenie môže byť v nedohľadne a budete musieť ísť trochu nižšie. Po kliknutí Nastaviť miniatúru zobrazí sa nové dialógové okno

Kliknite na položku Použiť ako miniatúru a k vášmu príspevku sa pridá miniatúra:

Zobrazenie miniatúr

Keď už máme novinky napísané, doplníme ich. Aby sa miniatúra zobrazila, musíte do slučky pridať riadok Wordpress. Otvorte súbor index.php a pridajte nasledovné:

Tým sa zobrazí obrázok pomocou tried attachment-post-thumbnail a wp-post-image. C pomocou týchto tried môžeme upraviť vzhľad miniatúr pomocou CSS. Na obrázku nižšie vidíme miniatúru s okrajom a odsadeným okrajom.

Na obrázku vyššie je miniatúra pomerne veľká. Jeho veľkosť je možné zmeniť z administračného panela Nastavenia > Médiá.

Ďalším spôsobom, ako určiť veľkosť miniatúry, je zmeniť súbor funkcie.php. Aby sme to dosiahli, musíme pridať ešte jeden riadok:

Add_theme_support („následné miniatúry“); set_post_thumbnail_size (588, 250, true);

Teraz musíme informovať Wordpress, použiť túto veľkosť. Musíme mierne upraviť našu slučku index.php:

Wordpress teraz presne vie, ktorú verziu miniatúry použiť. Tu je to, čo máme:

Teraz pridajme do súboru single.php ďalšie PHP, takže keď sa správa otvorí, miniatúra bude úplne hore:

Pridanie ďalších veľkostí miniatúr

Ak chcete, aby mali miniatúry rovnakú veľkosť na hlavnej stránke a inú veľkosť na samotnej stránke správy, musíte urobiť nasledovné.

Ide o toto: chceme veľký obrázok na stránke príspevku a malý na hlavnej. Aby sme to dosiahli, musíme do súboru funkcie pridať ešte jednu veľkosť miniatúry:

Add_image_size ("loopThumb", 588, 125, true);

Popis argumentov:

Loopthumb - názov novej veľkosti miniatúry
- 588 - šírka v pixeloch
- 125 - výška
-
pravda - nastavenie, ktoré hlási Wordpress či použiť posúvač znamená zmeniť veľkosť obrázka

Budeme musieť zmeniť náš kód v súbore index.php:

Treba tiež poznamenať, že budeme mať dva nové štýly na ovládanie vzhľadu novej veľkosti miniatúry: a ttachment-loopThumb a wp-post-image. Môže byť užitočné odkázať na triedu wp-post-image v šablóne so štýlmi alebo pridajte svoju vlastnú triedu pri odkaze na miniatúru:

"loopyThumbs")); ?>

Tým sa vytvorí výstup značky img s nasledujúcimi triedami: loopyThumbs a wp-post-image.

Povedzme, že chceme vytvoriť štvorcové miniatúry, potom musíme vytvoriť novú veľkosť:

Add_image_size ("squareThumb", 125, 125, true);

Môžete tiež chcieť, aby boli miniatúry vľavo a mierne odsadené vpravo:

Attachment-post-thumbnail (float: left; margin-right: 10px;)

Teraz zmeníme kód na index.php na zobrazenie nášho štvorca:

Tu je to, čo dostaneme:

Ak pridáte predtým nahrané obrázky ako miniatúry, môžete mať nerovnomerné štvorce. Je to spôsobené tým, že pri načítavaní obrázkov Wordpress nemohol predvídať, že v budúcnosti budete chcieť použiť štvorcové miniatúry.

Ale v tejto situácii existuje východisko. Plugin nám pomôže Obnoviť miniatúry. Po nainštalovaní doplnku - prejdite Nástroje> Obnoviť a vygenerovať nové miniatúry ( Obnovte všetky miniatúry ). Potom budeme mať párne štvorce.

A pamätajte - na zobrazenie miniatúr musíte mať Wordpress 2.9.

Nádej, Návod sa vám páčil. Dobudúcna!

(PHP 4> = 4.2.0, PHP 5, PHP 7)

exif_thumbnail - Získajte vloženú miniatúru obrázka

Popis

exif_thumbnail (zmiešané$ stream [, int & $ šírka [, int & $ výška [, int & $ typ obrázka]]]): reťazec

exif_thumbnail () prečíta vloženú miniatúru obrázka.

Ak chcete doručiť miniatúry prostredníctvom tejto funkcie, mali by ste odoslať informácie o type mime pomocou hlavička () funkciu.

Je to možné exif_thumbnail () nemôže vytvoriť obrázok, ale môže určiť jeho veľkosť. V tomto prípade je návratová hodnota FALSE ale šírka a výška sú nastavené.

Parametre

Umiestnenie obrazového súboru. Môže to byť cesta k súboru alebo stream.

Šírka návratu vrátenej miniatúry.

Vrátená výška vrátenej miniatúry.

Typ obrázka

Vrátený typ obrázka vrátenej miniatúry. Toto je buď TIFF alebo JPEG.

Návratové hodnoty

Vráti vloženú miniatúru, príp FALSE ak obrázok neobsahuje miniatúru.

Príklady

Príklad #1 exif_thumbnail () príklad

$ obrázok = exif_thumbnail ("/cesta/k/obrázku.jpg", $ šírka, $ výška, $ typ);

if ($ obrázok! == false) (

echo $ obrázok;
východ;
) inak (
// nie je k dispozícii žiadna miniatúra, tu spracujte chybu
echo "Nie je k dispozícii žiadna miniatúra";
}
?>

Denník zmien

Verzia Popis
7.2.0 Parameter súboru bol premenovaný na stream a teraz podporuje lokálne súbory aj zdroje streamu.

Poznámky

Ak sa tok používa na odovzdanie toku tejto funkcii, potom sa to musí dať vyhľadať. Všimnite si, že pozícia ukazovateľa súboru sa po návrate tejto funkcie nezmení.

require_once ("../ PEL / PelJpeg.php");
require_once ("../ PEL / PelIfd.php");
$ úplná cesta = "obrázky / DSC_0013c.JPG"; # cesta zdrojového obrázka (neobsahuje miniatúru exif)

$ jpeg = nový PelJpeg ($ úplná cesta);
$ exif = $ jpeg -> getExif ();
$ tiff = $ exif -> getTiff ();
$ ifd0 = $ tiff -> getIfd (); # to potrebujeme, aby sme to neskôr mohli prepojiť s novým IFD

$ ifd1 = $ ifd0 -> getNextIfd ();
ak (! $ ifd1) ( # Vytvorte miniatúru iba vtedy, ak žiadna neexistuje (t. j. neexistuje IFD1)
$ ifd1 = nový PelIfd (1);
$ ifd0 -> setNextIfd ($ ifd1); # bod ifd0 na nový ifd1 (alebo inak ifd1 nebude prečítaný)

$ original = ImageCreateFromString ($ jpeg -> getBytes ()); # vytvorte obrazový zdroj originálu
$ orig_w = ​​​​imagesx (originál $);
$ orig_h = imagey ($ original);
$ wmax = 160;
$ hmax = 120;

Ak ($ orig_w> $ wmax || $ orig_h> $ hmax) (
$ thumb_w = $ wmax;
$ thumb_h = $ hmax;
if ($ thumb_w / $ orig_w * $ orig_h> $ thumb_h)
$ thumb_w = okrúhly ($ thumb_h * $ orig_w / $ orig_h); # zachovať pomer strán
inak
$ thumb_h = okrúhly ($ thumb_w * $ orig_h / $ orig_w);
}
inak ( # veľkosť palca nastavte iba vtedy, ak je originál väčší ako" wmax "x" hmax "
$ thumb_w = $ orig_w;
$ thumb_h = $ orig_h;
}

# vytvorte zdroj obrázkov s veľkosťou miniatúr
$ palec = imagecreatetruecolor ($ thumb_w, $ thumb_h);
## Zmeňte veľkosť originálu a skopírujte ho do prázdneho zdroja palca
imagecopyresampled ($ palec, $ originál,
0, 0, 0, 0, $ thumb_w, $ thumb_h, $ orig_w, $ orig_h);

# začnite zapisovať výstup do vyrovnávacej pamäte
ob_start ();
# vypíše obsah zdroja palca do vyrovnávacej pamäte
ImageJpeg ($ palec);
# vytvorte PelDataWindow z obsahu palca vyrovnávacej pamäte (a ukončite výstup do vyrovnávacej pamäte)
$ okno = new PelDataWindow (ob_get_clean ());

Ak (okno $) (

$ ifd1 -> setThumbnail (okno $); # nastaviť údaje okna ako miniatúru v ifd1
$ outpath = $ úplná cesta; # prepísať pôvodný súbor jpg
file_put_contents ($ outpath, $ jpeg -> getBytes ()); # zapíšte všetko do výstupného súboru
# Zobraziť miniatúru v súbore:
ozvena "... $ mimochod. "" border = 0 alt = "(! LANG: Ak vidíte toto, nefungovalo to">!}
"
;

}
}
inak (
ozvena "ifd1 už existuje! (IFD1 je miesto, kde je uložená miniatúra)
"
;
}
?>
# Toto je kód v thumb_exif.php:
$ imgdat = exif_thumbnail ($ _REQUEST ["obrázok"], $ šírka, $ výška, $ typ);
hlavička ("Content-type:". image_type_to_mime_type ($ type));
echo ($ imgdat);
?>

Ak máte veľa takýchto súborov, môžete si jednoducho vytvoriť skript, ktorý ich vyhľadá a pridá do exifu miniatúry.

pred 12 rokmi

Ak chcete previesť z TIFF na JPG, môžete použiť ImageMagick, ak je nainštalovaný na vašom serveri.

$ exec = "convert /path/to/file.tiff /path/to/file.jpg 2> & 1";
@ exec ($ exec, $ exec_output, $ exec_retval);

// možná chyba
print_r ($ exec_output)
?>

Pohodlný spôsob vytvárania miniatúr príspevkov za chodu bez preťaženia servera.

Najlepšia alternatíva k skriptom ako „thumbnail.php“.

Podporuje viac stránok.

Aplikácia

Po prvé, doplnok pre vývojárov, pretože po inštalácii nerobí nič. Aby plugin začal fungovať, musíte použiť jednu z funkcií pluginu vo vašej téme alebo doplnku. Príklad:

Pomocou kódu v slučke získate pripravený miniatúrny IMG tag. Plugin vezme obrázok s miniatúrou príspevku alebo nájde prvý obrázok v obsahu príspevku, zmení jeho veľkosť a vytvorí vyrovnávaciu pamäť. Tiež vytvorí vlastné pole pre príspevok s URL na pôvodný obrázok. Jednoducho povedané, uloží do vyrovnávacej pamäte všetku rutinu a pri ďalšom načítaní stránky prevezme výsledok vyrovnávacej pamäte.

Z vlastnej adresy URL môžete vytvoriť miniatúry takto:

URL_TO_IMG musí pochádzať z lokálneho servera: doplnok štandardne nefunguje s externými obrázkami z dôvodu bezpečnosti. Povolených hostiteľov však môžete nastaviť na stránke nastavení: Nastavenia> Médiá.

Všetky funkcie pluginu:

// return thumb url url echo kama_thumb_src ($ args, $ src); // návrat palca IMG tag echo kama_thumb_img ($ args, $ src); // návrat palcovej značky IMG zabalenej s ... Odkaz vôle vedie k pôvodnému obrázku. echo kama_thumb_a_img ($ args, $ src); // na získanie šírky alebo výšky obrázka po vytvorení palca echo kama_thumb ($ optname); // napr: echo " ";

Poznámky (upraviť)

    $ args môžete odovzdať ako reťazec alebo pole:

    // string kama_thumb_img ("w = 200 & v = 100 & alt = IMG NAME & class = aligncenter", "IMG_URL"); // pole kama_thumb_img (pole ("width" => 200, "height" => 150, "class" => "alignleft" "src" => ""));

    Môžete nastaviť iba jednu stranu: šírku | výška, potom sa druhá strana stala proporcionálnou.

  1. Parameter src alebo argument druhej funkcie je pre prípady, keď potrebujete vytvoriť palec z akéhokoľvek obrázka, nie z obrázka príspevku WordPress.
  2. Na test je tu obrázok pre príspevok, použite tento kód:

    If (! Kama_thumb_img ("š = 150 & v = 150 & no_stub")) echo "NO img";

Príklady

# 1 Získajte palec

V slučke, kde potrebujete palec 150x100:

výsledok:

# 2 Nezobrazovať útržok obrazu

# 3 Získajte iba adresu URL pre palec

Výsledok: /wp-content/cache/thumb/ec799941f_100x80.png

Túto adresu URL môžete použiť takto:

"alt = "">

# 4 funkcia kama_thumb_a_img ().

výsledok:

# 5 Palec akejkoľvek adresy URL obrázka

Odovzdať argumenty ako pole:

"http://yousite.com/IMAGE_URL.jpg", "w" => 150, "h" => 100,)); ?>

Odovzdať argumenty ako reťazec:

Keď parametre prechádzajú ako reťazec a parameter "src" má ďalšie argumenty dotazu ("src = $ src & w = 200", kde $ src = http://site.com/img.jpg?foo&foo2=foo3), môže to byť zmätené. To je dôvod, prečo parameter "src" musí prejsť ako druhý argument funkcie, keď parametre prechádzajú ako reťazec (nie pole).

# 6 Parameter post_id

Získať ID príspevku = 50:

Plugin nepotrebujem

Tento plugin sa dá ľahko použiť nie ako plugin, ale ako jednoduchý php súbor.

Ak ste vývojárom tém a potrebujete všetky jej funkcie, ale potrebujete nainštalovať doplnok ako súčasť vašej témy, tento krátky návod pre vás:

  1. Vytvorte si priečinok vo svojej téme, nech je to „palecník“ – je to pre pohodlie.
  2. Stiahnite si plugin a skopírujte súbory: class.Kama_Make_Thumb.php a no_photo.jpg do priečinka, ktorý ste práve vytvorili.
  3. Zahrňte súbor class.Kama_Make_Thumb.php do témy functions.php takto:
    vyžadovať 'thumbmaker / class.Kama_Make_Thumb.php';
  4. Bingo! Použite funkcie: kama_thumb _ * () v kóde témy.
  5. Ak je to potrebné, otvorte class.Kama_Make_Thumb.php a upravte možnosti (v hornej časti súboru): URL / PATH priečinka vyrovnávacej pamäte, názov vlastného poľa atď.
  • Podmienky používania – zmienka o tomto plugine pri popise vašej témy.

ROBIŤ

  • Protokol súboru stub – na zistenie, ktoré súbory neboli nájdené a na ktorých stránkach
  • je možné vymazať vyrovnávaciu pamäť jedného obrázka
  • vezmite si útržok z knižnice médií v nastaveniach
  • špecifikovať názov príspevku pre kama_thumb_img () v alt, ak je prázdny a ide o ID príspevku? Ale funkcia pracuje s URL, takže alt nemôže byť vždy správne špecifikovaný... Dá sa použiť in_the_loop ().

Snímky obrazovky

Inštalácia

Inštalácia cez Admin Panel

  1. Choďte do Plugins> Add New> Search Plugins zadajte „Kama Thumbnail“
  2. Nájdite doplnok vo výsledkoch vyhľadávania a nainštalujte ho.

Inštalácia cez FTP

  1. Stiahnite si archív .zip
  2. Otvorte / wp-content / plugins / adresár
  3. Umiestnite priečinok kama-thumbnail z archívu do otvoreného priečinka pluginov
  4. Aktivujte si miniatúru Kama na stránke doplnkov správcu
  5. Ak chcete doplnok prispôsobiť, prejdite na stránku Nastavenia> Médiá

Recenzie

Prispievatelia a vývojári

Kama Thumbnail je softvér s otvoreným zdrojovým kódom. K vývoju doplnku prispeli nasledujúci prispievatelia:

Účastníci

Zmeniť denník

2.8.13

  • NOVINKA: filter pre_do_thumbnail_src.
  • NOVINKA: Spracovanie SVG – Ak sa na vytvorenie miniatúry odošle odkaz na súbor SVG, tento odkaz sa jednoducho vráti.

2.8.12

  • NOVINKA: filter kama_thumb_src.
  • NOVINKA: parameter stub_url.

2.8.11

  • OPRAVA: Poznámka na správcovskom paneli o vymazaní stubov sa teraz zobrazuje iba správcom.

2.8.10

  • OPRAVA: Chyba s neštandardnými doménami, napríklad: domain.academy.

2.8.9

  • ADD: Hook kama_thumb_default_args.

2.8.8

  • OPRAVA: Kontrola riadku pri príjme obrázka. Niekedy môže adresa URL namiesto údajov obrázka vrátiť kód HTML.
  • NOVINKA: Automatická detekcia ciest pri integrácii doplnku do témy alebo doplnkov MU. Teraz, na integráciu zásuvného modulu do témy, možno zásuvný modul jednoducho vložiť do priečinka témy a zahrnúť do hlavného súboru zásuvného modulu functions.php.
  • DEL: Odstránil sa filter kama_thumb_allow_admin_options_page. Teraz je jeho práca založená na filtri kama_thumb_def_options, ak je použitý, stránka možností pluginu sa automaticky vypne a možnosti sú špecifikované cez tento filter.

2.8.7

  • OPRAVA: Drobné opravy kódu.
  • NOVINKA: alt sa automaticky priradí pre kama_thumb_img () (vyvŕtané v prílohe), ak je zadaný parameter attachment_id.
  • NOVINKA: Filter: kama_thumb_def_options - umožňuje zmeniť predvolené možnosti (keď zástrčka nie je nainštalovaná ako zástrčka)
  • NOVINKA: Filter: kama_thumb_allow_admin_options_page – umožňuje vám zakázať stránku možností na paneli správcu (keď zásuvka nie je nainštalovaná ako zásuvka)
  • NOVINKA: Možnosť: auto_clear_days – každých koľko dní sa má vymazať vyrovnávacia pamäť

2.8.6

  • CHYBA: nesprávna zmena veľkosti, keď je povolená možnosť rise_small a špecifikovaná veľkosť je menšia ako obrázok.

2.8.5

  • CHYBA: pri ukladaní akéhokoľvek typu príspevku sa vytvorila prázdna postmeta „photo_URL“, ale musí sa vymazať iba vtedy, ak predtým existovala.

2.8.4

  • CHG: create_function () nahradené funkciou lambda, aby sa podporilo PHP 7.2+

2.8.3

  • NOVINKA: parameter 'rise_small'. Ak je nastavené na hodnotu false, miniatúra sa nezväčší, ak je jej veľkosť (šírka / výška) menšia ako špecifikovaná veľkosť. Predvolená hodnota: true – veľkosť malých miniatúr sa zväčší.

2.8.2

  • IMP: funkcia parse_main_dom () teraz rozumie localhosts a IP.

2.8.1

  • OPRAVA: nesprávne zobrazenie na stránke možností od WP 4.9.0

2.8.0

  • Oprava chyby: vyskytla sa chyba, ak ste v parametri „post“ odovzdali objekt príspevku (WP_Post) ...

2.7.9

  • CHG: premenujte filter začínajúci na „kmt_“ na „kama_thumb_“: „kmt_set_args“, „kmt_is_allow_host“, „kmt_img“, „kmt_a_img“, „kama_thumb_set_args“.
  • drobné opravy

2.7.8

  • PRIDAŤ: hook ‘kama_thumb_inated’.
  • OPRAVA: trocha logiky zmätok ohľadom trigger_error ()

2.7.7

  • ADD: podpora pre multisite - v MU plugin má svoju vlastnú stránku možností v menu sieťových nastavení. Podriadené stránky nemajú možnosti doplnkov – spravuje sa globálne zo siete.
  • PRIDAŤ: teraz sa všetky súbory vytvoria v podpriečinkoch hlavného priečinka vyrovnávacej pamäte, aby sa predišlo preplneniu priečinka. SEO presmerovanie zo starého miesta na nové.
  • IMP: menšie opravy: poistenie možnosti „meta_key“. Možnosť „ladenia“ funguje iba v režime WP_DEBUG. Vylepšenia kódu.

2.7.6

  • OPRAVA: ak je nastavené „kama_thumb_a_img (‘ w = 200 ″, $ src) „kde $ src je prázdne. Plugin sa pokúšal vygenerovať obrázok aktuálneho príspevku, ale v tomto prípade je lepšie zobraziť útržok 'no_photo'.

2.7.5

  • ADD: nové parametre na pridávanie atribútov do značky A: ‚a_class‘, ‚a_style‘, ‚a_attr‘ - kama_thumb_a_img ("w = 200 & a_class = foobar & a_style = display: block; & a_attr =").

2.7.3 — 2.7.4

  • PRIDAŤ: parameter „orezať“ ...
  • ADD: parameter ‘attach_id’ – ID obrázka prílohy wordpress. Tento parameter môžete nastaviť aj zadaním ID prílohy na parameter „src“ alebo v druhom parametri funkcií pluginu: kama_thumb_img ("h = 200", 250) alebo kama_thumb_img ("h = 200 & attachment_id = 250")
  • OPRAVA: Zmeny a opravy ‘class.Kama_Make_Thumb.php’

2.7.2

  • ADD: parameter „style“ pre funkcie „kama_thumb_img ()“ a „kama_thumb_a_img ()“.

2.7.0 — 2.7.1

  • ADD: nová funkcia echo kama_thumb ("šírka") - umožňuje získať skutočnú "šírku / výšku" obrázka, ak je šírka / výška prázdna. Alebo ak nastavíme parameter „notcrop“ a veľkosť strany malého obrázka sa proporcionálne zmení a veľkosť vopred nepoznáme.
  • CHG: predvolený obrázok no_photo zmenený.

2.6.3

  • CHG: mätúca možnosť 'debug' v class.Kama_Make_Thumb teraz zapnite / vypnite na stránke nastavení ...
  • ADD: možnosti dezinfekcie pri uložení z dôvodu ochrany ...

2.6.1

  • NOVINKA: Z doplnku bol odstránený adresár jazykov

2.6.0

  • ADD: parameter „yes_stub“ pre funkcie „kama_thumb _ * ()“. Užitočné, keď je nastavená možnosť „no_stub“, ale na špeciálnom mieste potrebujeme pahýľ (bez fotografie)
  • PRIDAŤ: Nové tlačidlo na stránke možností na vymazanie celej vyrovnávacej pamäte a vymazanie metapolí naraz.
  • OPRAVA: oprava chyby s možnosťou „no_stub“. Hneď po aktivácii pluginu to nefungovalo správne.

2.5.8

  • OPRAVA: Podpora adresy URL so vstupom entity HTML src noe dekódovaním pomocou html_entity_decode () - „it`s-image.jpg“> 'it`s-image.jpg'

2.5.7

  • OPRAVA: Podporuje URL bez protokolov: //site.com/folder/image.png

2.5.6

  • OPRAVA: odstránené dve podčiarkovníky „__“ zo všetkých metód tried. Pretože to vyhradené PHP.

2.5.5

  • ADD: WP HTTP API na získanie IMG z URL.
  • ADD: atribúty „width“ a „height“ pre funkciu „kama_thumb_img ()“ pre obrázky s nešpecifikovaným parametrom „width“ alebo „height“ (používa sa s atribútom „notcrop“)
  • CHYBA: Ak nastavíte parameter „notcrop“ a nenastavíte „výška“ - PHP zomrie s fatálnou chybou ...

2.5.4

  • ADD: thumb img v obsahu príspevku: teraz zvážte atribút „srcset“, ak je nastavený

2.5.3

  • OPRAVA: pravidelná o triede „mini“ v značke IMG a teraz môžete zmeniť triedu „mini“.

2.5.2

  • OPRAVA: niekoľko menších opráv pre aktiváciu a odinštalovanie doplnku

2.5.1

  • ADD: Podpora cyrilickej domény – takáto adresa URL bude fungovať „http: //sayt.rf/img.jpg“.
  • ADD: parameter 'allow' z opravy volania jednej funkcie - nefunguje správne.

2.5

  • ADD: Nové filtre pre triedu Kama_Make_Thumb: ‚kmt_set_args‘, ‚kmt_is_allow_host‘, ‚kmt_img‘, ‚kmt_a_img‘
  • ADD: Je povolené, aby hostiteľ teraz kontroluje iba hlavnú doménu (nie subdoménu). Príklad: plugin teraz funguje, ak sa pokúsite vytvoriť palec „http://site.com/img.png“ z hostiteľa „foo.site.com“
  • ADD: Nový parameter 'allow' - nastavenie povolených hostiteľov len pre aktuálne volanie funkcie. Príklad: kama_thumb_img („š = 200 & v = 200 & povoliť = ľubovoľný“, „http://external-domain.com/img.jpg“);

2.4.4

  • ZLEPŠIŤ: Získanie súboru zo vzdialenej domény nefunguje správne, ak došlo k presmerovaniam ...

2.4.3

  • OPRAVA: mini trieda pre IMG v obsahu. Vyskytla sa chyba výstupu, ak IMG vnútri a nie vnútri značky A.

2.4.2

  • ZMENA: Kama_Make_Thumb class :: get_src_and_set_postmeta () stať sa publikom. Aby ste získali len originálnu adresu URL príspevku.
  • OPRAVA: vyhľadávanie img url v obsahu príspevku nefungovalo s relatívnou webovou adresou ako: "/foo.jpg" a nefungovalo, ak img rozšírenie "jpeg";
  • OPRAVA: mnohokrát rýchlejšie úprava obsahu príspevku (regulárny výraz);

2.4.1

  • OPRAVA: parametre analýzy, ak sú zadané ako reťazec. napr.: "h = 250 & notcrop & class = aligncenter" notcrop sa zmení na "notcrop_"

2.4

  • OPRAVA: Ak umiestnite druhý parameter funkcie $ src (img url) - nefungovalo to správne, pretože hlúpa chyba.
  • OPRAVA: pri použití triedy 'mini' v obsahu príspevku a IMG už zabalených s tagom A, plugin vytvoril dvojitý obal A.
  • ZLEPŠIŤ: Teraz sa obrázky s vlastným hosťovaním najprv analyzujú ako absolútna cesta a ak sa vyskytne chyba, analyzujú sa ako URL. Táto metóda je v niektorých prípadoch veľmi stabilná.
  • ADD: Umiestnite „akýkoľvek“ do povoleného reťazca hostiteľov na stránke nastavení a doplnok bude zobrazovať palec z ľubovoľnej domény.

2.3

  • Veľká chyba: Ak teraz parametre prejdú ako parameter reťazca „src“, je lepšie prejsť ako druhý argument funkcií kama_thumb _ * („w = 200 & v = 300“, „http://site.com/image.jpg“).

2.2

  • ADD: parameter „attr“. Povoliť odovzdanie akýchkoľvek atribútov v značke IMG. Reťazec prechádza tak, ako je, bez úniku.

2.1

  • ADD: aliasy pre odovzdané parametre: src = url | odkaz | img, post_id = príspevok (možno odovzdať ako objekt príspevku), q = kvalita, w = šírka, v = výška
  • OPRAVA: keď parametre prechádzajú ako reťazec a parameter „src“ má ďalšie argumenty dopytu („src = $ src & w = 200“, kde $ src = http://site.com/img.jpg?foo&foo2=foo3), môže to byť confuse , preto parameter "src" musí prejsť na koniec reťazca, keď parametre prechádzajú ako reťazec (nie pole).
  • CHG: refaktorovanie kódu v súbore class.Kama_Make_Thumb.php.
  • OPRAVA: no_stub fungoval iba pre obrázky z príspevkov. Keď 'src 'je nastavený parameter' no_stub 'nemá žiadny účinok;

2.0

  • ADD: upozornenie, keď na serveri nie je nainštalovaná žiadna knižnica obrázkov (GD alebo Imagic)
  • ADD: rôzne názvy pre skutočný palec a palec bez fotografie. A možnosť vymazať len nophoto thumbs z cache. Všetko, čo bolo potrebné na správne vytvorenie obrázkov IMG z externých adries URL (nie z obrázkov s vlastným hosťovaním), niekedy nie je možné správne načítať externé obrázky.

1.9.4

  • OPRAVA: zisťovanie ext, ak má adresa URL obrázka dotaz rgs ako * .jpg?

1.9.3

  • CHG: Detekcia DOCUMENT ROOT, ak sú allow_url_fopen a CURL na serveri zakázané

1.9.2

  • OPRAVA: pokúsi sa získať obrázok podľa cesty servera abs, ak žiadna z týchto možností: CURL || allow_url_fopen = on je nastavené na serveri

1.9.1

  • OPRAVA: getimagesizefromstring () funguje iba v php 5.4+

1.9.0

  • PRIDAŤ: Obrázky sa analyzujú z adresy URL tak, že sa najprv zvlní

1.8.0

  • PRIDAŤ: Obrázky sa analyzujú z adresy URL. Opravil niektoré chyby, pri ktorých plugin nedokázal vytvoriť abs cestu k obrázku.
  • ADD: Nastavenia povolených hostiteľov. Teraz môžete nastaviť stránky, z ktorých sa budú vytvárať aj tumb.

1.7.2

  • CHG: Späť na podporu PHP 5.2 🙁

1.7.1

  • CHG: PHP nižšie ako 5.3 teraz nie je podporované, pretože je to zlý postup ...

1.7

  • OPRAVA: refaktor - oddelenie jednej triedy na dve: "WP Plugin" & "Thumb Maker". Teraz má kód lepšiu logiku!

1.6.5

  • ADD: EN lokalizácia

1.6.4

  • ADD: teraz sa automaticky rozpoznali cache_folder & no_photo_url
  • PRIDAŤ: parameter notcrop

Ešte v časoch, keď som bol vo svete programovania ešte celkom zelený, v ten zimný večer som pracoval na svojej prvej WordPress šablóne. Potreboval som prispôsobiť výstup miniatúr pre príspevky. V tom čase som sa už zoznámil s množstvom WordPress šablón, v ktorých som sa stretol s implementáciou tejto úlohy. A bolo to implementované, samozrejme, pomocou skriptu, ktorý poznáte timthumb.php(vytvorí miniatúrnu kópiu obrázka pomocou odkazu na tento obrázok). Samozrejme, nakoniec som tento skript priskrutkoval k predlohe a bol som spokojný s výsledkom, ale netrvalo to dlho.

Všetko fungovalo dobre: ​​do príspevku vložíte obrázok, prerušíte odkaz naň a pridáte ho do špeciálne vytvoreného vlastného poľa. V šablóne sa načíta odkaz z tohto poľa a na základe neho sa vytvorí miniatúra. Ale po čase sa z neustáleho kopírovania odkazu a pridávania do ľubovoľného poľa pre mňa stala únavná úloha – rutina. Navyše sa mi stalo, že som tento notoricky známy odkaz vo všeobecnosti zabudol vložiť a po zverejnení som sa musel vrátiť k úprave záznamu. Znie to povedome?

V dôsledku toho som napísal funkciu, ktorá vyhľadá obrázok v príspevku, vystrihne z neho odkaz a vytvorí vlastné pole pre tento príspevok, a to všetko automaticky. Neskôr táto funkcia prešla niekoľkými zmenami a potom ďalšími a nakoniec sme dostali plugin, s ktorým sa môžete zoznámiť nižšie.

O doplnku miniatúr WordPress

Po aktivácii plugin nerobí nič, aby mohol začať fungovať, budete musieť upraviť šablónu (vyvolať funkcie na mieste, kde sú potrebné miniatúry obrázkov). Ak doplnok iba nainštalujete a aktivujete, neurobí nič!

Vo všeobecnosti je skript veľmi podobný timthumb.php, ale odlišný a o niečo lepší:

  1. Nie je potrebné manuálne vytvárať vlastné pole s odkazom na obrázok. Pole sa vytvorí automaticky.
  2. Funguje o niečo rýchlejšie ako timthumb.php (timthumb.php je univerzálny skript, a preto je tu veľa zbytočných kontrolných operácií);
  3. Odkaz na obrázok bude vyzerať ako platný / images / filename.jpg, nie /functions.php?src=/images/filename.jpg & w = 100 & h = 100 & q = 80;
  4. Cache sa čistí podľa potreby. V timthumb.php sa vyrovnávacia pamäť neustále kontroluje, staré súbory sa vymazávajú. Na kontrolu sú potrebné zdroje (maličkosť, ale predsa). To sa dá bezbolestne zachrániť;
  5. Zmena veľkosti môže byť použitá priamo v príspevku zadaním mini obrázku triedy a požadovaných rozmerov;
  6. Je oveľa pohodlnejšie použiť pri integrácii do témy WordPress: nepotrebujete získať hodnotu ľubovoľného poľa, skontrolujte, či pole existuje, aby sa zobrazil obrázok útržku. Toto všetko sa vykoná automaticky.
  7. Na timthumb.php je veľa hackerských útokov, ktoré, ak neumožňujú hacknutie stránky, priťahujú zbytočnú pozornosť hackerov a zaťažujú server.

Ako funguje miniatúra Kama

Vytvorí priečinok vyrovnávacej pamäte: wp-content / cache / thumb. V ňom sa vytvoria náhľady.

Pri publikovaní alebo aktualizácii príspevku plugin vyhľadá odkaz na pôvodný obrázok a zapíše ho do ľubovoľného poľa príspevku, následne sa pomocou tohto odkazu vytvorí v téme miniatúra. Odkaz je definovaný v nasledujúcom poradí:

  1. Ak má príspevok miniatúru WordPress, použije sa jeho odkaz;
  2. Ak je v texte príspevku obrázok, jeho odkaz sa prevezme. Ak je tento obrázok kotvou odkazu na zväčšenú verziu tohto obrázka, použije sa adresa URL odkazu;
  3. Ak príspevok nemá v texte miniatúru WP alebo obrázok, plugin skontroluje, či má príspevok nahraný obrázok (prílohu). Ak existuje príloha, odkaz sa prevezme odtiaľ;
  4. Ak sa nič nenájde, do vlastného poľa sa pridá útržkový záznam: „no_photo“. Je to potrebné, aby sa tieto operácie na vyhľadávanie odkazu nevykonávali zakaždým.

Pri odinštalovaní plugin odstráni všetko za sebou: vlastné polia, možnosti v databáze, vyrovnávaciu pamäť obrázkov, priečinok vyrovnávacej pamäte.

Stiahnite si plugin

Inštalácia

  1. Rozbaľte archív do adresára plugins / wp-content / plugins, aktivujte plugin v admin paneli. Alebo si nainštalujte doplnok zo svojho administračného panela WordPress: Pluginy> Pridať nový> Stiahnuť> Vybrať> Inštalovať.
  2. Nakonfigurujte doplnok na stránke administračného panela: Nastavenia> Médiá. Odporúčam tam v základných nastaveniach WP nastaviť nuly pre veľkú veľkosť „Veľká veľkosť“ a zmenšiť veľkosť pre strednú veľkosť „Stredná veľkosť“ (napríklad: 150 x 100). Je to potrebné, aby WP pri načítaní obrázka nevytváralo zbytočné veľkosti obrázkov. Táto funkcia bude nahradená týmto pluginom.

Blok nastavení doplnku na stránke „médiá“:

Použitie

Po nainštalovaní doplnku do šablóny môžete používať funkcie:

  • kama_thumb_src ($ args) - Vráti odkaz na vytvorenú miniatúru
  • kama_thumb_img ($ args) - vráti hotový obrázok (značku img)
  • kama_thumb_a_img ($ args) – Vráti obrázok odkazu. Odkaz vedie na pôvodný obrázok.

Argumenty $:

  • w alebo šírka- šírka miniatúry (povinné)
  • h alebo výška- výška miniatúry (povinné)
  • q- kvalita kompresie jpg (predvolená 85, max 100)
  • src- odkaz na pôvodný obrázok, ktorý sa má zmenšiť. V tomto prípade nebude obrázok analyzovaný z obsahu.
  • alt- alt atribút obrázka
  • titul- atribút názvu obrázka
  • trieda- triedny atribút obrázka. Uveďte triedu mini a požadované rozmery na vytvorenie miniatúry pre obrázok v článku.
  • no_stub- uveďte, či nepotrebujete zobraziť výbežok. Namiesto toho sa vráti prázdny výsledok.
  • post_id- ID príspevku. Musí sa odovzdať, keď sa funkcia volá mimo slučky WordPress (napríklad vo vnútri funkcie) alebo keď je premenná $ post definovaná nesprávne (napríklad je určený obrázok z iného príspevku alebo iné chyby). Ak zadáte tento parameter, skript bude presne vedieť, ktorý príspevok má spracovať. Ak tento parameter neodovzdáte, spracuje sa príspevok, ktorý je momentálne (pri volaní funkcie) v premennej $ post.

Poznámky:

  1. Parametre je možné špecifikovať:

    // riadok kama_thumb_img ("š = 200 & v = 100 & alt = názov obrázku & trieda = centrum zarovnania"); // alebo pole kama_thumb_img (pole ("width" => 200, "height" => 150, "class" => "alignleft"));

  2. Môžete zadať iba šírku alebo výšku, potom sa opačná strana (výška alebo šírka) zhoduje v pomere k zmenšenej kópii;
  3. Parameter src je potrebný v prípadoch, keď potrebujete vytvoriť miniatúru bez použitia vlastných polí (nasnímajte ľubovoľný obrázok a vytvorte preň miniatúru).
  4. Ak potrebujete skontrolovať, či príspevok obsahuje obrázok a ak nie, urobte niečo iné, použite nasledujúci kód:

    $ img = kama_thumb_img ("š = 150 & v = 150 & no_stub"); if (! $ img) echo "Žiadny obrázok";

    $ img = kama_thumb_img ("š = 150 & v = 150 & no_stub");

    ak (! $ img)

    echo "Žiadny obraz";

Miniatúra obrázka v texte článku (shortcode)

Ak v článku potrebujete zmenšiť obrázok a urobiť z neho odkaz na originál, uveďte triedu obrázka mini a nastavte požadované rozmery (šírku alebo výšku).

Do článku sme napríklad vložili obrázok:

V článku však nepotrebujeme taký veľký obrázok a chceme ho zmenšiť nie vizuálne, ale v skutočnosti, potom k nemu pridáme mini triedu a špecifikujeme požadované rozmery:

300 ” />

Výška, ktorú sme odstránili, sa automaticky proporcionálne upraví.

Tento prístup nie je použiť krátky kód, zdalo sa mi to pohodlnejšie: môžeme vytvárať miniatúry pre obrázky a zároveň vidieť, ako obrázok vyzerá pri úprave príspevku, aj keď je plugin odstránený, obrázky v príspevkoch budú stále zobrazené (nebude tam žiadny nezrozumiteľný skrátený kód).

Ak chcete vytvoriť miniatúrny obrázok, táto možnosť musí byť povolená v nastaveniach.

Príklady použitia

# 1 Získajte miniatúru

Vo vnútri slučky WordPress, kde potrebujete miniatúru príspevku s rozmermi 150 x 100, používame nasledujúci kód:

& lt; ? php echo kama_thumb_img ( "w = 150 & v = 100 & class = alignleft myimg"); ? & gt;

Výsledkom je, že namiesto tohto kódu sa zobrazí hotová značka. :

# 2 Nezobrazujte fiktívny obrázok

Ak chcete zabrániť zobrazeniu zástupného obrázka, ak položka neobsahuje žiadne obrázky, musíte definovať parameter no_stub:

Vráti miniatúry URL: /wp-content/cache/thumb/ec799941f_100x80.png. Túto adresu URL možno použiť napríklad takto:

"alt =" "/>

& lt; img src = ""alt =" "/ & gt;

Ak potrebujete vytvoriť miniatúru, napríklad obrázok, kliknutím na ktorý sa otvorí veľký obrázok, použite nasledujúci kód:

& lt; ? php echo kama_thumb_a_img ( "w = 150 & h = 100 & class = alignleft myimg & q = 75"); ? & gt;