 Dnes si na příkladu ukážeme jak vytvořit vlastní šablonu do redakčního systému Wordpress. Uděláme si jednoduchou strukturu stránek s hlavičkou, postraním panelem a patičkou. Tak jak je vyobrazeno na obrázku níže.

Nejdříve si připravíme složky a soubory tak, aby jsme do nich poté mohli už jen zapisovat kód. Jako první musíme otevří složku wp-content/themes, v které si vytvoříme vlastní složku s názvem naší šablony nazveme ji třeba rs_sablona. Otevřeme si naši vytvořenou složku a vložíme do ní soubory které si vytvoříme například pomocí programu PsPad, seznam souborů je následující.
- header.php - tento soubor bude mít nastarosti jak html hlavičku tak hlavičku v obsahové části
- index.php - tento soubor je hlavní soubor šablony, do něho se nahrávají ostatní soubory a má na starosti obsahovou část
- sidebar.php - postranní panel stránky
- footer.php - patička stránky
- style.css - soubor s kaskádovými styly, zde určíme jak bude stránka vypadat
Pokud máme vytvořeny všechny soubory můžeme začít s vkládáním kódu do jenotlivých souborů, začneme hlavičkou
Hlavička - header.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <title><?php bloginfo('name'); ?></title> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> </head> <body> <div id="obal"> <div id="hlavicka"> <h1><?php bloginfo('name'); ?></h1> </div> <div id="vyhledavani"> <?php get_search_form(); ?> </div>
%3C%21DOCTYPE%20html%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20XHTML%201.0%20Transitional%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FTR%2Fxhtml1%2FDTD%2Fxhtml1-transitional.dtd%22%3E%0A%3Chtml%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%20%3C%3Fphp%20language_attributes%28%29%3B%20%3F%3E%3E%0A%0A%0A%3Cmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22%3C%3Fphp%20bloginfo%28%27html_type%27%29%3B%20%3F%3E%3B%20charset%3D%3C%3Fphp%20bloginfo%28%27charset%27%29%3B%20%3F%3E%22%20%2F%3E%0A%0A%3Ctitle%3E%3C%3Fphp%20bloginfo%28%27name%27%29%3B%20%3F%3E%3C%2Ftitle%3E%0A%0A%3Clink%20rel%3D%22stylesheet%22%20href%3D%22%3C%3Fphp%20bloginfo%28%27stylesheet_url%27%29%3B%20%3F%3E%22%20type%3D%22text%2Fcss%22%20media%3D%22screen%22%20%2F%3E%0A%0A%0A%3C%2Fhead%3E%0A%3Cbody%3E%0A%20%3Cdiv%20id%3D%22obal%22%3E%0A%20%3Cdiv%20id%3D%22hlavicka%22%3E%0A%20%3Ch1%3E%3C%3Fphp%20bloginfo%28%27name%27%29%3B%20%3F%3E%3C%2Fh1%3E%0A%20%3C%2Fdiv%3E%0A%20%3Cdiv%20id%3D%22vyhledavani%22%3E%0A%20%3C%3Fphp%20get_search_form%28%29%3B%20%3F%3E%0A%20%3C%2Fdiv%3E
Nejdříve jsme tedy vložili deklaraci dokumentu, v jakém jazyku bude, a kódování. Ke všemu slouží funkce, které nám to zjistí automaticky, rozhodně nevyplňujeme ručně. Dále jsme vložili tag title na titulek stránky. Do něho jsme vložili funkci bloginfo s parametrem name, ta nám vrací jméno našeho blogu. Jako další je vložena deklarace kaskádového stylu, opět nepoužíváme absolutní cestu k souboru ale opět využijeme funkci bloginfo. Poté uzavíráme hlavičku a zapisujeme tělo stránky. Všechny prvky si nastylujeme později. Do hlavičky jsme vložili nadpis s názvem našeho blogu, pod něj vložíme další prvek s vyhledávacím formulářem.
Tělo stránky - index.php
<?php get_header(); ?> -
<div id="obsah"> -
<h1>Obsah</h1> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h1><?php the_title(); ?></h1> <h4>Posted on <?php the_time('F jS, Y') ?></h4> <p><?php the_content(__('(celý článek...)')); ?></p> -
<hr> <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> </div> <div id="pravy"> <?php get_sidebar(); ?> </div> <div></div> <?php get_footer(); ?>
%3C%3Fphp%20get_header%28%29%3B%20%3F%3E%0A%20%0A%0A%20%3Cdiv%20id%3D%22obsah%22%3E%0A%20%0A%20%3Ch1%3EObsah%3C%2Fh1%3E%0A%20%3C%3Fphp%20if%20%28have_posts%28%29%29%20%3A%20while%20%28have_posts%28%29%29%20%3A%20the_post%28%29%3B%20%3F%3E%0A%0D%0A%3Ch1%3E%3C%3Fphp%20the_title%28%29%3B%20%3F%3E%3C%2Fh1%3E%0D%0A%0A%0D%0A%3Ch4%3EPosted%20on%20%3C%3Fphp%20the_time%28%27F%20jS%2C%20Y%27%29%20%3F%3E%3C%2Fh4%3E%0D%0A%0A%0D%0A%3Cp%3E%3C%3Fphp%20the_content%28__%28%27%28cel%C3%BD%20%C4%8Dl%C3%A1nek...%29%27%29%29%3B%20%3F%3E%3C%2Fp%3E%0D%0A%0A%20%0D%0A%3Chr%3E%0D%0A%0A%20%3C%3Fphp%20endwhile%3B%20else%3A%20%3F%3E%0A%0D%0A%3Cp%3E%3C%3Fphp%20_e%28%27Sorry%2C%20no%20posts%20matched%20your%20criteria.%27%29%3B%20%3F%3E%3C%2Fp%3E%0D%0A%0A%20%3C%3Fphp%20endif%3B%20%3F%3E%0A%20%3C%2Fdiv%3E%0A%20%3Cdiv%20id%3D%22pravy%22%3E%0A%20%3C%3Fphp%20get_sidebar%28%29%3B%20%3F%3E%0A%20%3C%2Fdiv%3E%0A%0A%0A%3Cdiv%3E%3C%2Fdiv%3E%0A%0A%3C%3Fphp%20get_footer%28%29%3B%20%3F%3E
Jak vidíme tělo stránky je poměrně jednoduché, nejdříve vložíme naší vytvořenou hlavičku pomocí get_header(). Poté pomocí cyklu vypisujeme všechny články, zobrazujeme jejich název, datum vytvoření a samotný text, pokud není žádný článek, vypíšeme hlášku. Poté vložíme sidebar (postranní panel) a footer (patičku).
Postranní panel - sidebar.php
Postranní panel jsme udělali také jednoduchý vypsali jsme do něj seznam kategorií a archiv. U seznamu kategorií jsme zvolili parametry tak aby se řadili podle jména a aby se ukazoval počet článků v jednotlivých kategoriích. Jednotlivé parametry, můžete prostudovat na oficiálních stránkách wordpressu, na konci článku bude odkaz.
<div id="panel"> <h2><?php _e('Kategorie'); ?></h2> <ul> <?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?> </ul> -
<h2><?php _e('Archiv'); ?></h2> <ul> <?php wp_get_archives('type=monthly&limit=15'); ?> </ul> </div>
%3Cdiv%20id%3D%22panel%22%3E%0A%20%3Ch2%3E%3C%3Fphp%20_e%28%27Kategorie%27%29%3B%20%3F%3E%3C%2Fh2%3E%0A%20%3Cul%3E%0A%20%3C%3Fphp%20wp_list_cats%28%27sort_column%3Dname%26amp%3Boptioncount%3D1%26amp%3Bhierarchical%3D0%27%29%3B%20%3F%3E%0A%20%3C%2Ful%3E%0A%20%0A%20%3Ch2%3E%3C%3Fphp%20_e%28%27Archiv%27%29%3B%20%3F%3E%3C%2Fh2%3E%0A%20%3Cul%3E%0A%20%3C%3Fphp%20wp_get_archives%28%27type%3Dmonthly%26amp%3Blimit%3D15%27%29%3B%20%3F%3E%0A%20%3C%2Ful%3E%0A%3C%2Fdiv%3E
Patička - footer.php
<div id="paticka"> <p>Stránky vytvořil <a href="#">redakční-systémy.com</a>, 2009</p> </div> </div> </body> </html>
%3Cdiv%20id%3D%22paticka%22%3E%0A%20%3Cp%3EStr%C3%A1nky%20vytvo%C5%99il%20%3Ca%20href%3D%22%23%22%3Eredak%C4%8Dn%C3%AD-syst%C3%A9my.com%3C%2Fa%3E%2C%202009%3C%2Fp%3E%0A%3C%2Fdiv%3E%0A%0A%3C%2Fdiv%3E%0A%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E
Jak vidíme zde jen vložíme text jaký chceme, a uzavřeme celou html stránku
Kaskádové styly - style.css
Aby celá stránka nějak vypadala musíme si stránku ješte nastylovat. Ukážeme si kus kódu, rozhodně to neberte jako dokončenou věc, je pouze ukázkový a slouží pro ilustraci:
body { font-size: 62.5%; /* Resets 1em to 10px */ font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; background: #ffffff; color: #000000; text-align: left; } -
h1, h2, h3 { font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif; font-weight: bold; } h1 { font-size: 2em; text-align: left; } a:link,a:visited{ text-decoration:underline; color:#a70000; } a:hover{ text-decoration:underline; } #obal { background-color: white; border: 1px solid #959596; width:800px; margin:0 auto 0 auto; padding:0; } #hlavicka { width:100%; height:100px; background:#a70000; margin:0; padding:0; } #hlavicka h1{ font-size:3em; margin:0; padding-left:40px; padding-top:20px; color:#ffffff; } #vyhledavani{ margin:0; padding:0; width:100%; background:#cccccc; text-align:right; margin-bottom:10px; } #vyhledavani #searchform{ margin:0; padding:3px 10px 3px 0; text-align:right; } #obsah{ float:left; width:580px; padding:10px; } #pravy{ float:right; width:190px; border-left:1px solid #cccccc; } #panel{ padding:10px; } #paticka{ width:98%; margin:0 auto 0 auto; border-top:1px solid #cccccc; } #paticka p{ width:95%; text-align:right; -
} .delimiter{ clear:both; }
body%20%7B%0A%20font-size%3A%2062.5%25%3B%20%2F%2A%20Resets%201em%20to%2010px%20%2A%2F%0A%20font-family%3A%20%27Lucida%20Grande%27%2C%20Verdana%2C%20Arial%2C%20Sans-Serif%3B%0A%20background%3A%20%23ffffff%3B%0A%20color%3A%20%23000000%3B%0A%20text-align%3A%20left%3B%0A%20%7D%0A%20%0A%20h1%2C%20h2%2C%20h3%20%7B%0A%20font-family%3A%20%27Trebuchet%20MS%27%2C%20%27Lucida%20Grande%27%2C%20Verdana%2C%20Arial%2C%20Sans-Serif%3B%0A%20font-weight%3A%20bold%3B%0A%20%7D%0A%0A%20h1%20%7B%0A%20font-size%3A%202em%3B%0A%20text-align%3A%20left%3B%0A%20%7D%0A%20a%3Alink%2Ca%3Avisited%7B%0A%20text-decoration%3Aunderline%3B%0A%20color%3A%23a70000%3B%0A%20%7D%0A%20a%3Ahover%7B%0A%20text-decoration%3Aunderline%3B%0A%20%7D%0A%23obal%20%7B%0A%20background-color%3A%20white%3B%0A%20border%3A%201px%20solid%20%23959596%3B%0A%20width%3A800px%3B%0A%20margin%3A0%20auto%200%20auto%3B%0A%20padding%3A0%3B%0A%20%7D%0A%0A%23hlavicka%20%7B%0A%20width%3A100%25%3B%0A%20height%3A100px%3B%0A%20background%3A%23a70000%3B%0A%20margin%3A0%3B%0A%20padding%3A0%3B%0A%20%7D%0A%23hlavicka%20h1%7B%0A%20font-size%3A3em%3B%0A%20margin%3A0%3B%0A%20padding-left%3A40px%3B%0A%20padding-top%3A20px%3B%0A%20color%3A%23ffffff%3B%0A%7D%0A%0A%23vyhledavani%7B%0A%20margin%3A0%3B%0A%20padding%3A0%3B%0A%20width%3A100%25%3B%0A%20background%3A%23cccccc%3B%0A%20text-align%3Aright%3B%0A%20margin-bottom%3A10px%3B%0A%7D%0A%0A%23vyhledavani%20%23searchform%7B%0A%20margin%3A0%3B%0A%20padding%3A3px%2010px%203px%200%3B%0A%20text-align%3Aright%3B%0A%7D%0A%0A%23obsah%7B%0A%20float%3Aleft%3B%0A%20width%3A580px%3B%0A%20padding%3A10px%3B%0A%7D%0A%0A%23pravy%7B%0A%20float%3Aright%3B%0A%20width%3A190px%3B%0A%20border-left%3A1px%20solid%20%23cccccc%3B%0A%7D%0A%0A%23panel%7B%0A%20padding%3A10px%3B%0A%7D%0A%0A%23paticka%7B%0A%20width%3A98%25%3B%0A%20margin%3A0%20auto%200%20auto%3B%0A%20border-top%3A1px%20solid%20%23cccccc%3B%0A%7D%0A%23paticka%20p%7B%0A%20width%3A95%25%3B%0A%20text-align%3Aright%3B%0A%20%0A%7D%0A.delimiter%7B%0A%20clear%3Aboth%3B%0A%7D
Tím by mělo být hotovo stránka by nyní měla vypadat nějak takto:

Pokud chcete celou šalbonu najdete ke stažení zde: http://www.redakcni-systemy.com/media/rs_sablona.zip
Jestli to myslíte se šablonami vážně určitě se Vám bude hodit stránka dokumentace k wordpressu, kde najdete další užitečné funkce
|