Bygg ditt WP-tema från grunden

I vilken ordning kallar WordPress på de olika filerna? The Template Hierarchy.

I en enkel överskådlig mall händer detta:

Huvudsidan:
Om home.php finns så laddas den före index.php. Finns inte home.php så kallar WordPress på index.php.

Inlägg och poster:
Single.php laddas först, finns inte denna fil kallar WordPress på index.php.

WordPress Pages:
Första prioritering har den förvalda mallen du valt från rullgardinslistan ( i de fall du väljer att använda olika pages.php som i ett cms). I andra hand (om du inte använder WordPress som ett cms) laddas page.php. Finns inte page.php och du inte använder någon förvald mall så kallar WordPress på index.php.

En mer utförlig och schematisk översikt om hur filerna laddas in i WordPress finner du hos http://www.scoutpress.de/download/wp_Template_Hierarchy.png

Vad är en templatetag?

Det phpkoder som associerar till WordPress filer och databaser är templatetags. Deras funktioner är att de kallar på något som antingen ska hämtas som information till sidan eller information som ska infogas in i sidan genom kommandot “do” or “get”.

Templatetags som infogar filer kan bland annat vara:

  1. < ?php get_header(); ?>
  2. < ?php get_sidebar(); ?>
  3. < ?php get_footer(); ?>
  4. < ?php include (TEMPLATEPATH . '/sidebar2.php'); ?>

Denna kallar på din stilmall om du lägger till attributet image och bildens sökväg omedelbart efter koden:

  1. < ?php bloginfo('template_url'); ?>

Templatetags som kallar på databasfunktioner är bland annat dessa:

  1. < ?php the_category('separator', 'parents' ); ?>
  2. < ?php foreach((get_the_category()) as $cat) { echo $cat->cat_name . ' '; } ?>
  3. < ?php the_content('Mer &raquo;'); ?>

Informationen som ibland finns mellan parenteserna är en instruktion om vad som önskas och ska kallas från databasen – det kallas med ett annat ord för Parameter. Det finns ofta flera valmöjligheter om vad exakt som önskas med koden. Ibland vill man kanske utesluta, eller lägga till, olika options beroende på hur mycket information man vill att databasen ska visa. Vi ska kika på ett exempel:

  1. < ?php bloginfo(’show’); ?>

Koden kommer att visa alla parametrar eftersom vi inte har definierat vad det är vi specifikt vill ha. Skriver vi däremot in ”name” har vi avgränsat informationen till att endast visa namnet på bloggen.

  1. < ?php bloginfo('namn'); ?>

Skriver vi denna parameter visas vilken version bloggen har. Bloginfo kan bara använda en parameter i taget.

  1. < ?php bloginfo('version'); ?>

Väljer vi däremot att använda denna tag:

  1. < ?php get_archives(); ?>

Så finns det möjligheter att använda sig av flera parametrar inom samma kodsnutt.

  1. < ?php get_archives('type', 'limit', 'format', 'before', 'after', show_post_count); ?>

Vad som är viktigt att veta är att det finns en struktur i parametrarnas ordning, därför är det viktigt att alltid följa denna ordning när man väljer sina options. Vill man utesluta någon parameter tar man bort just denna parametern men behåller citattecknen som om det skulle ha stått något skrivet mellan dom.

Liknande poster:

14 Comments Add yours

  1. Pernilla says:

    Standardmall? Var hittar jag dessa?

    1. Lena says:

      Hej!
      Du får ursäkta mig men jag var inne och snurrade kring blogg.se, jag tänkte inte varifrån du skickade kommentaren. Fel av mig!
      I wordpress twentyten så finns ju alla filer. Men om det bara är de filer som absolut måste finnas, och du vill ha så få filer som möjligt så är det i princip bara index.php som behövs, men det är ju inget kul. Du kan själva avgöra vilka filer du vill ha, kika på denna bild. Personligen föreslår jag följande: index.php – single.php – page.php – comments.php – 404.php – archive.php. Du behöver egentligen inga fler. mvh/Lena

  2. Pernilla says:

    Tänkte på en sak, skulle du inte kunna göra så att, de filer som måste finnas med, går att ladda ner i en fil?

    1. Lena says:

      Nu är jag inte så säker på vilka filer du menar – ett tema eller? Annars finns alla filer att ladda ned under länken “standardmallar” så du själv kan laborera hur du vill.

  3. leila says:

    nu ska jag sätta igång och göra mig mitt egna tema, inge roligt att ta andras. jag ska följa din guide, ska bli jättekul att se om jag lyckas.
    kram på dig

    1. Lena says:

      Lycka till, men jag vill påpeka att det har hänt en del kring wordpress sedan jag skrev guiden.

  4. HelenaG says:

    Hej.

    Bra sida. Jag fattar inte var o hur jag ska skriva in dessa texter du skrivit i denna tutorial (5)?

    När jag laddar ner wp så är det enda tema jag har där twentyten….

    //HelenaG

    1. Lena says:

      Hej Helena!
      Kan du skriva lite tydligare vad exakt det är som är svårt?
      mvh/Lena

  5. Anna says:

    Hej!

    En mycket bra sida. Jag ska studera den mycket noga.

    Vad heter texten som du har i dina inlägg? Jag skulle vilja ha samma i vår blogg.

    1. Lena says:

      Hej!
      Jag använder verdana .75 em som standard. Tack för din kommentar =)
      mvh/Lena

  6. Ja, verkligen en kanonsajt! Fantastiskt många fina tips. Ska faktiskt försöka mig på att göra ett eget tema. Min dotter vill ha en ren wordpress-blogg att bädda in på sin sida, så det ska jag göra i första hand.
    /Jane

    1. Lena says:

      Tack!
      Ja att testa och åter testa ger kunskap 🙂

  7. Christer says:

    Hejsan!
    Vilken kanonsajt du har!
    Jag vill men vet inte om jag kan och vågar bygga mitt eget tema som ser ut som min sajt gör idag.
    Jag letar webbhotel med stöd för wordpress då mitt nuvarande kanonhotel tyvärr int erbjuder den tjänsten.
    Hoppas kunna ställa frågor till dig kring mitt tema.

Leave a Reply

Your email address will not be published. Required fields are marked *