Wordpress – tvorba vlastní šablony podruhé
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Wordpress – tvorba vlastní šablony podruhéWordpress – tvorba vlastní šablony podruhé

 

Wordpress – tvorba vlastní šablony podruhé

Google       Google       25. 7. 2012       30 015×

V tomto díle si nejprve pohrajeme s výpisem příspěvků, vypsáním stránky a samotného detailu příspěvku. Podíváme se také na některé funkce, které by se vám mohly hodit. Z těch běžných například datum publikování, autor příspěvku, kategorie či štítky. Tím bychom tak dokončili svoji první šablonu, jež bude použitelná, a v posledním díle bychom si ukázali nějaké vychytávky. 

Reklama
Reklama

Výpis příspěvků index.php

Soubor index.php slouží pro vypsání příspěvků. V administraci, si můžeme nastavit buďto, aby příspěvky vypisovala hlavní stránka, která není jinak definovaná, anebo stránka vytvořená jako „statická“, které nastavíme možnost vypisování příspěvků. V podstatě nastavíme dané stránce (Page), aby používala pro vypisovaní svého obsahu soubor index.php namísto page.php.

Než začneme soubor index.php upravovat, nejprve si vytvoříme nějaký obsah, který se nám na stránce bude vypisovat. V administraci si vybereme v levém menu položku "Příspěvky", "Vytvořit příspěvek" a nějaký příspěvek vytvoříme a uložíme.

Vypsání příspěvků pomocí souboru index.php

<?php get_header(); ?>
   <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
      <div class="post">
         <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
	 <?php the_content('číst více...'); ?>
      </div>
   <?php endwhile; ?> 
<?php get_footer(); ?>

Nejprve zde máme funkci get_header();, ta slouží k napojení souboru s hlavičkou. V podstatě obdoba funkce include.php v PHP. Tutéž funkci plní níže použitá get_footer();, která pro změnu napojuje soubor s patičkou.

Dále zde máme podmínku a cyklus if ( have_posts() ) while ( have_posts() ) : , tento kousek kódu se ptá: Existuje nějaký příspěvek? Pokud ano, vytvoří se cyklus, který projede všechny příspěvky a vypíše defaultně nejnovějších 10 příspěvků. Počet příspěvků, které se mají zobrazovat na stránce, se nastavuje v administraci, a to konkrétně v sekci "Nastavení zobrazování webu" (stejné jako na obrázku nejvýše).

Poté zde máme funkce the_permalink(), ta nám vrací odkaz na detail příspěvku. the_title() pro vypsání titulku příspěvku a the_content() s parametrem "číst více...", tato funkce nám vypíše obsah příspěvku rovnou s odkazem, který povede na detail příspěvku. Umí toho však trochu víc. Pokud byste chtěli vypsat jen kousek stránky, jako by to u seznamu příspěvků mělo být, můžete v administraci při editování příspěvku použít oddělovací čáru <!--more-->. Tím se na výpisu příspěvků zobrazí pouze text který je před tímto separátorem.

Všechny tyto funkce, vrací rovnou výpis jejich obsahu. Pokud byste chtěli dále pracovat s návratovou hodnotou těchto funkcí, stačí dopsat před její název get_. To by vypadalo ve finále nějak takto: echo get_the_permalink();, echo get_the_title();, echo get_the_content(); atd.

Page.php a Single.php

Nyní se podíváme na „statickou“ stránku a detail příspěvku. Kromě toho, že stránka používá soubor page.php a detail příspěvku single.php, se od sebe nijak zvlášť neliší. Ba dokonce ony se neliší moc ani od stránky index.php. Vypsání, teď již příspěvku, funguje naprosto stejně.

Vypsání stránky pomocí page.php a příspěvku pomocí single.php

<?php get_header(); ?>
   <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
      <div class="post page">
         <h1><?php the_title(); ?></h2>
	 <?php the_content(); ?>
      </div>
   <?php endwhile; ?> 
<?php get_footer(); ?>

Takhle vypadá kód, který vložíme do souboru page.php a single.php. Funguje naprosto stejně. Nejprve podmínka, která zjišťuje, zda existuje nějaký obsah, poté cyklus pro jeho vypsání a funkce pro vypsání nadpisu a obsahu.

Další hodící se funkce

Jak jsem již na začátku uváděl, nyní si uděláme takový malý přehled funkcí pro bloggery. Použití je strašně jednoduché, jedinou podmínkou je, aby se nacházely ve zmiňovaném cyklu.

Následující funkce slouží k vypsání:

  • jména autora příspěvku/stránky: the_author()
  • data a času publikování příspěvku: the_time('j.n.Y')
  • kategorie, v níž se příspěvek nachází: the_category(', ')
  • štítků náležících k danému příspěvku: the_tags()

Takovýchto funkcí je opravdu plno a všechny i s jejich popisem, parametry a výstupními hodnotami naleznete na stránkách Wordpress.org v dokumentaci.

Myslím si, že tento a předchozí články by mohly stačit všem, kteří se chtějí s tvorbou vlastních šablon seznámit. Příští články o Wordpressu budou pojednávat již o daleko specifičtějších funkcích.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
8 hlasů
Google
(fotka) Ladislav JanečekAutor se zajímá o ASP.NET, ADO.NET, AJAX a C#. Nově přirostl autorovi k srdci Wordpress, PHP, AJAX? jQuery, webdesign a tvorba stránek celkově.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku DistrCut – optimalizace pomocí distribuované inteligence

DistrCut – optimalizace pomocí distribuované inteligence

Optimalizační systémy, které jsem dosud popisoval, se týkaly vždy optimalizace na jednom zařízení. Optimalizovalo se dělení tyčového materiálu na jedné pile, vypalování plošného materiálu na jednom plazmovém stroji, řídilo se tavení na jedné elektrické obloukové peci.

Ve výrobním procesu je však často nutné optimalizovat činnost celého výrobního úseku, kde je více různých objektů odlišného typu a koordinovat činnost těchto objektů k dosažení společného cíle, zpravidla kvality finálního výrobku. Řešení tohoto problému umožňuje distribuovaná inteligence.

Reklama
Reklama

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý