Jak upravit šablonu ve WordPressu
Jistě jste někdy chtěli postavit webové stránky na systému wordpress. Posutp byl jasný, nainstalovat wordpress, vyhledat na nějaké stránce téma, které se mi nejvíce hodilo do mého konceptu a pak už jenom stačí upravit pár detailů. Následující odstavce ukazují kdy a do jakého souboru v šabloně je potřeba sáhnout.
Jako každá webová stránka jsou generované stránky wordpressem v klasické html struktuře:
01
02
03
04
05
06
07
08
09
10
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" < HTML > < HEAD > < TITLE >My first HTML document</ TITLE > </ HEAD > < BODY > < P >Hello world! </ BODY > </ HTML > |
WordPress nabízí několik funkcionalit. K většině funkcionalit existuje samostatný soubor v šabloně. Pokud však wordpress při generování stránky nenajde požadovaný soubor vždy sáhne do aktivované šablony pro soubor index.php. Jaké základní funkce wordpress nabízí a jaké soubory v šabloně při tom “volá”?
zobrazení stránek – page.php
zobrazení příspěvků – single.php
zobrazení příspěvků v dané rubrice (kategorii) – category.php
zobrazení příspěvků, které jsou otagovány – category.php
zobrazení příspěvků daného autora – author.php
zobrazení příspěvků v archivu – archive.php
Toto jsou základní způsoby výpisu v systému wordpress. Např. máme v administraci nastaveno, že homepage bude statická stránka, volá se soubor page.php. nebo pokud máme nastaveno výpis článků v dané rubrice, volá se soubor category.php.
Jak je však vidět na obrázku výše, jsou ve složce s tématem i další soubory jako jsou header.php, sidebar.php či footer.php. K čemu vlastně slouží? Soubory pro zobrazování typu obsahu jsou v zásadě podobné, vemme si např. základní soubor index.php a podívejme se na jeho strukturu (ukázkový soubor index.php je ze základní šablony twentyeleven):
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<? php get_header(); ?> < div id = "primary" > < div id = "content" role = "main" > <? php if ( have_posts() ) : ?> <? php twentyeleven_content_nav( 'nav-above' ); ?> <? php /* Start the Loop */ ?> <? php while ( have_posts() ) : the_post(); ?> <? php get_template_part( 'content', get_post_format() ); ?> <? php endwhile; ?> <? php twentyeleven_content_nav( 'nav-below' ); ?> <? php else : ?> < article id = "post-0" class = "post no-results not-found" > < header class = "entry-header" > < h1 class = "entry-title" ><? php _e( 'Nothing Found', 'twentyeleven' ); ?></ h1 > </ header > <!-- .entry-header --> < div class = "entry-content" > < p ><? php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></ p > <? php get_search_form(); ?> </ div > <!-- .entry-content --> </ article > <!-- #post-0 --> <? php endif; ?> </ div > <!-- #content --> </ div > <!-- #primary --> <? php get_sidebar(); ?> <? php get_footer(); ?> |
Jak je vidět, tomuto html kódu chybí html hlavička, ta je však definována v jiném souboru, konkrétně header.php. WordPress používá ve svých šablonách různé funkce (jejich kompletní výčet s popisem naleznete na wordpress codexu).
V kódu výše je uvedeno volání tří základních souborů:
get_header(); – volá soubor header.php
get_sidebar(); – volá soubor sidebar.php
get_footer(); – volá soubor footer.php
Celá html stránka je pak poskládána z kódu ze čtyř souborů: header – index (tělo) – sidebar – footer.
Snad tento článek nastínil orientaci v šablonách wordpressu. V defaultních šablonách je však mnohem více souborů. V drtivé většině se jedná o custom šablony, určené pro konkrétní typ obsahů. Jak vytvořit custom šablonu si ukážeme v následujícím článku.