WordPress: Úprava šablony pro stránku nebo článek

wordpress-logoVzhled článku je věc, kterou jsem vždycky upravoval jako jednu z prvních a věřím, že vy na tom nebudete jinak. Váš blog má být prostě jiný než ty ostatní a pokud použijete jako základ nějakou existující šablonu (nejlépe Twenty Ten), vždycky budete chtít něco jinak: štítky pod článkem, rubriky nad článkem, datum do sloupce nebo skrýt autora. Poradím jak na to, je to fakt jednoduché.

Struktura šablony blogu

Šablona blogu je složena z několika souborů – nechci se jim věnovat v tomto článku, mám to v plánu v budoucnu. Je uložena v adresáři /wp-content/themes/vasesablona a jde o soubory psané v PHP (které jsou proložené HTML kódem) a styly (jeden hlavní pro typ média screen, další pak podle chuti nebo potřeb).

Šablona pro článek ve WordPressu

Vzhled článku definuje soubor single.php, vzhled stránky definuje soubor page.php. Od verzí 3+ přibývají v tomto ohledu další možnosti – lze si připravit šablony pro různé typy stránek nebo výpisů, o tom ale až jindy. Ještě jeden typ šablony je důležitý – šablona pro výpisy archivních stránek (výpis rubrik, výpis podle data). Šablony pro zobrazení příloh a profil autora nepoužívám, ale jejich úprava se nijak lišit nebude.

Kostra výpisu článku je jednoduchá – samozřejmě pomíjím různé divy a jiné kusy kódu, které nemají na vzhled vliv (reklama, navigace).

<?php if (have_posts()) : the_post(); ?>
 <div>
	<h2><?php the_title(); ?></h2>
	<p><?php the_date(); echo " | "; the_category(', '); ?></p>
	<?php edit_post_link('Upravit', '<p>', '</p>'); ?>
	<div id="textbody"><?php the_content(); ?></div>
</div>
<p><?php the_tags('Štítky: ',', ',''); ?></p>
<?php else : include("notfound.php"); endif; ?>

Šablona Twenty ten je v tomto ohledu poměrně složitá, protože volá vlastní funkce a důsledně značkuje každý kousek obsahu pokud možno unikátním id; to mi přijde zbytečné – uvedený příklad je z webu Liberix.cz, který jede v praxi.

Obsah se zobrazí po provedení funkce the_content(); – nad ním je zobrazen nadpis a informace jako datum a rubrika (kategorie). Pokud je uživatel přihlášený, vidí také odkaz Upravit pro přímou editaci (vstup do redakční části) – výborná věc. Pod článkem se pak zobrazují štítky. Autor nikde uvedený není, protože je buď jen jeden, nebo není důležitý.

Dále je ještě uvedeno, že pokud nebyl daný záznam nalezen, má se vložit obsah souboru notfound.php a podmínka se ukončí. Tento soubor se vkládá také do stránky 404.php, tedy klasické chybové hlášky – je tak zajištěno, že oznámení bude konzistentní a máte dost možností, jak ho udělat pěkně.

Uvedený kód je pouze fragment a nepředstavuje kompletní šablonu stránky nebo článku.

Šablona stránky ve WordPressu

Šablona stránky má stejnou strukturu, jen si dejte pozor – některé šablony rozlišují obsah na stránce a obsah v článku. Používají pak jiný kontejner div a špatně se to udržuje. Doporučuji použít jen jeden stejný <div>, pokud tedy chcete, aby měly příspěvky i stránky stejný vzhled.

Do šablon lze přidávat další navigační prvky – drobečkovou navigaci, seznam podstránek nebo odkaz na předchozí či další záznam. Také lze zobrazovat části stránky/článku podle kontextu. A zcela originální šablonu má index.php neboli hlavní stránka webu. Ale o tom až někdy příště, stejně jako o podmíněném zobrazování widgetů ve sloupci.

Vzhled stránky na webu Liberix.cz
Vzhled stránky na webu Liberix.cz