WordPress 2.9 a chystané novinky (2): Jednoduché vkládání médií z externích služeb (např. YouTube) do příspěvků prostřednictvím oEmbed

I když může znít pro mnohé čtenáře nadpis příliš odborně, jde v podstatě jen o velmi jednoduchou věc, kterou určitě většina z vás používá. WordPress 2.9 totiž nově podporuje jednoduché vkládání videí (např. YouTube) a obrázků či fotek (např. Flickr) přímo do příspěvků a stránek. Půjdeme ale i trochu do hloubky a vysvětlíme si, jak to vlastně bude ve WordPressu celé nově fungovat.

Co je to vlastně onen v nadpise zmiňovaný oEmbed a jak to přesně funguje? Stručně řečeno je to současný univerzální standard (jakési API) pro přebírání (nejen) médií z externích služeb, který vznikl poměrně nedávno. Ale začneme trochu obecněji. Dosavadní způsoby vkládání externího obsahu do vlastního webu byly občas docela problematické (a to nejen ve WordPressu). Poskytovatelé těchto služeb dávají uživatelům hned několik možností, jak mohou vybraný obsah do svého webu vkládat. Nejčastěji jde o tzv. HTML kód pro vložení (anglicky embed nebo embedded code), který si můžete ručně zkopírovat a vložit ho přímo do příspěvku. Tento způsob má však své nevýhody. Co když poskytovatel tento kód časem třeba trochu pozmění, nebo změníte šablonu a budete chtít aby byla vkládaná videa např. trochu větší / menší? Výsledkem budou stovky „porouchaných“ příspěvků, které budete muset ručně měnit. Takže toto řešení bych moc nedoporučoval, protože jsou pak příspěvky zbytečně zaplevelovány mnoha složitými HTML kódy (nehledě na to, že vkládání podobných kódů není v editoru  WordPressu ideální a i tady často dochází k problémům).

Každý trochu zkušenější uživatel WordPressu tedy pro vkládání externího obsahu zatím používá nějaký plugin. Osobně mám rád všechny informace uložené u sebe na serveru (trochu paranoia aneb co kdyby třeba používanou službu zrušili nebo zpoplatnili), ale občas používám pro méně důležitá videa YouTube. Takže jsem si našel plugin Smart Youtube a vesele ho používal (stačí vložit URL adresu příslušného videa, změnit http na httpv a video se bezchybně zobrazí na webu). Pluginů je ovšem mnoho (a většinou generují kód až během zobrazování stránky) a i když autoři přidávají nové služby a pluginy jsou aktualizovány, opět to není ideální řešení. Ve WordPressu 2.9 dochází konečně k významné změně, neboť bude přímo využívat již zmíněného formátu oEmbed (sice má také své drobné nevýhody, ale plusy v tomto případě výrazně převládají). A co to pro uživatele WordPressu znamená? Laicky řečeno vezmete pouze URL adresu cílového mediálního obsahu (video, obrázek, či třeba jen odkaz), nakopírujete ji prostřednictvím příslušného tlačítka editoru do příspěvku a máte vystaráno. Už žádný plugin, nebo manipulace s HTML kódy.

A jak to vlastně celé funguje? Velmi jednoduše. Formát oEmbed totiž podporují samotní poskytovatelé mediálních služeb (stává se novým standardem). Implementují toto řešení přímo u sebe a když jim prostřednictvím WordPressu pošlete jednoduchou URL adresu, tak vám vrátí celý potřebný HTML kód. Takže do příspěvku vložíte jenom URL adresu např. videa na Youtube, ale WordPress si automaticky sám zjistí prostřednictvím standardu oEmbed na serveru YouTube přesný HTML kód, který je potřeba pro zobrazení videa na webu (kód však není uložen přímo v příspěvku, ale v databázové tabulce postmeta, stejně jako např. další uživatelská pole k tomuto příspěvku). A veškerá tato komunikace funguje přímo mezi poskytovatelem obsahu (YouTube) a vaším webem, takže není závislá na oEmbed a nemusíme se tak do budoucna bát ani případného přetížení cizích serverů či přímo zrušení služby. Existují dva základní způsoby fungování tohoto standardu:

1) Na stránkách oEmbed můžete nalézt přehled poskytovatelů služeb, kteří tento způsob vkládání přímo umožňují. A nejznámější ze služeb jsou také implementovány přímo do jádra WordPressu. Pokud tedy budete vkládat URL adresu příslušného poskytovatele, kterého WordPress (a tedy i oEmbed) zná, tak se během ukládání příspěvku pošle automaticky dotaz na příslušný HTML kód. A tento kód se při ukládání příspěvku uloží v tabulce postmeta, aby se pak zbytečně nezpomalovalo načítání stránek během zobrazování čtenářům (a při úpravě příspěvku se tento kód logicky aktualizuje). Podporované služby jsou v současnosti YouTube, Blip.tv, Flickr, Hulu, Viddler, Qik.com, Revision3, Vimeo (vše přímo prostřednictvím oEmbed), Google Video, PollDaddy a DailyMotion (nepodporují oEmbed, ale WordPress to pomocí vlastních úprav přesto zvládne). A podpora dalších služeb se chystá, např. Photobucket či Scribd, takže předpokládám, že tento seznam nebude už v době publikování článku aktuální. To ale vůbec nevadí, v podstatě si můžete přidat libovolný server sami pomocí pluginu. A pokud nějaké další služby oEmbed umožňují, ale nejsou výchozí součástí WordPressu, tak si je můžete přidat sami velmi jednoduše (jeden řádek kódu).

2) Často ale není jisté, zda nějaký poskytovatel služeb tento způsob umožňuje a WordPress se v tomto případě sám pokusí vyhledat dostupnost formátu oEmbed (a umístění jeho API na serveru), což by mělo být na webu uvedeno pomocí tagu link rel v hlavičce HTML dokumentu (viz manuál). Mimochodem, tento formát může poskytovat i váš WordPress sám o sobě, např. pomocí pluginu oEmbed Provider, který stačí aktivovat a váš web se tak stane poskytovatelem oEmbed formátu. A pak už stačí jen když na vás někdo odkáže pomocí URL a váš web mu pomocí tohoto pluginu vrátí např. i informaci o nadpisu, takže se bude URL zobrazovat jako hezký odkaz, kde bude uveden název příspěvku a odkaz na něj. Tato možnost zjišťování je však dostupná pouze pro administrátory (aby nemohla být zneužívána). Každopádně pokud chcete, aby mohli nějakou službu používat i vaši redaktoři, tak si pro ni budete muset nalézt (napsat) plugin (platí i pro bod 1).

Nakonec se nám z krátkého představení jedné nové funkcionality stalo delší povídání, takže už jenom stručně. Jak bude konkrétně vypadat nastavení ve WordPressu 2.9? Objeví se nové možnosti v menu Nastavení – Média – Vkládání externího mediálního obsahu. Výchozí nastavení je v podstatě obecně správné, takže zde nemusíte ani zasahovat.

WordPress 2.9 - vkládání médií prostřednictvím oEmbed (1)

Obě zaškrtávátka si probereme ještě později, ale nastavit si můžete také maximální velikost zobrazovaného média (video či obrázek). Jde o maximální velikost, vkládané video bude samozřejmě automaticky upraveno podle původního poměru stran (a v jednotlivých příspěvcích lze velikost konkrétního videa upravit).

Stručně si popíšeme postup správného vkládání médií ve WordPressu 2.9 (příklad je pro video z YouTube, analogicky lze ale vložit např. obrázek z Flickru). Pomocí tlačítka „Přidat video“ nad editorem (na obrázku červeně zvýrazněno) se dostaneme do nového okna.

WordPress 2.9 - vkládání médií prostřednictvím oEmbed (2)

Zde je pouze možnost „Přidat z URL adresy“, kam vložíme jednoduchou URL adresu (žádný složitý HTML kód) videa, které jsme nalezli na YouTube a poté ho vložíme do příspěvku.

WordPress 2.9 - vkládání médií prostřednictvím oEmbed (3)

Další obrázky nám ukazují dva různé způsoby vkládání videa do příspěvku a výsledek ve vizuálním i HTML editoru. První způsob zde byl právě popsán a URL adresa bude označena pomocí nového speciálního tagu embed. Znamená to, že tím dáváme WordPressu najevo, aby směle využil technologii oEmbed. Samozřejmě musí být služba podporována i samotným WordPressem (či nějakým pluginem). Pokud podporována není, tak se vám na webu místo videa zobrazí jen aktivní odkaz. Samotný tag embed má ještě další parametry, kde můžete nastavovat např. konkrétní šířku (obrázek z Flickru):

[­embed width="200"]http://www.flickr.com/photos/dougal/3963145416/sizes/s/[/embed]

Druhým způsobem je čistě textová URL adresa (s neaktivním odkazem), což je druhý správný způsob vložení. V tomto případě je však třeba mít v nastavení médií zaškrtnutou možnost „Automatické vkládání“, kdy budou tyto čistě textové URL adresy považovány také za vkládaný mediální obsah a nikoliv za pouhý text. A na dalším řádku pak ještě vidíte, jak se to dělat nemá. Ve vizuálním editoru totiž stačí stisknout za odkazem klávesu enter a už se z čistě textové URL adresy stane klasický odkaz, který nebude pro oEmbed použit a bude zobrazen pouze jako odkaz.

WordPress 2.9 - vkládání médií prostřednictvím oEmbed (4)

WordPress 2.9 - vkládání médií prostřednictvím oEmbed (5)

A to by snad už mohlo být všechno. Ještě se vrátím k druhému zaškrtávátku na stránce s nastavením, kde můžete povolit testování i těch čistě textových URL adres, zda nejde náhodou o servery, které oEmbed umožňují, ale nejsou podporovány WordPressem ani žádným jeho pluginem (a opět připomínám, že to je kvůli bezpečnosti funkční pouze pro administrátory). Případné dotazy a připomínky směřujte pod článek do komentářů…

Tento příspěvek je 2. částí z celkem 4 článků.

8 komentářů u „WordPress 2.9 a chystané novinky (2): Jednoduché vkládání médií z externích služeb (např. YouTube) do příspěvků prostřednictvím oEmbed“

  1. Sympatická změna designu, jednoduchá a elegentní, já to říkám pořád, že „modrá je dobrá“… :-D A konečně reklama při zúžení stránky v záhlaví příspěvku neleze až do pravého sidebaru, jak to bylo předtím. :-)

    Jinak koukám, že novinky tu máš popsané moc pěkně, takže si asi trochu zalenoším a shrnu vše stručně až s příchodem nové verze, anebo… ještě uvidím… :-)

  2. Díky, design ještě není zcela doladěn (čeština a další drobnosti). Novinky jsem sepsal raději dříve, protože stejně už chystáme češtinu a je teď trochu víc času…

  3. Tak jako vždy, když se něco změní, tak jsem koukala, jestli jsem správně. :-D Jinak je fakt, že na webu s češtinou pro WordPress by to asi bylo zvláštní, kdyby tu zůstala napůl angličtina, ale vídám nepřeložené anglické šablony poměrně často, tak mi to vlastně ani hned nepřišlo. :-)

  4. Věděl jsem, že pro mě jediným správným postupem bylo nový design (nalezený před několika týdny – láska na první pohled) spustit a dodělávat za pochodu, protože jinak bych měl vždy něco důležitějšího na práci (třeba to co přináší nějaké peníze) a než bych doladil na localhostu všechny detaily, tak bychom byli o pár verzí WordPressu dále. Takže jsem vlastně rád i za stávající funkčnost, protože ten starý vzhled byl pouze testovací (přesto vydržel dva roky) a pro současné účely opravdu dost nepřehledný (a podle některých přímo ošklivý)…

  5. Tomu celkem rozumím, tohle už je věc dodělání za běhu, a jak říkám, na první pohled to člověku ani nepřijde. :-)

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>