Tellme header image
Tellme random header image

Tutorial - Een eigen Wordpress Theme - Les 5

January 25th, 2009 by Bart · 9 Comments

vorige keer hebben we ons bezig gehouden met de header. Nu deze klaar is kunnen we verder gaan met misschien wel het belangrijkste stukje php code; de loop.
de Loop vraagt alle blog posts op, en geeft deze weer.

Ik neem aan dat je de vorige lessen gelezen hebt, en dat je weet waar het over gaat.

#stap 1
plaats een nieuwe div (onzichtbare box) onder de header div. Noem deze container:

<div id=’container’></div>

Deze div is voor het scheiden van de rest van de informatie die op de site komt ( header, footer etc.)

#stap 2
Kopieer de onderstaande code, en zet deze in de div. (tussen de open en sluit tags).

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<?php endwhile; ?>
<?php endif; ?>

Als het goed is heb je nu de volgende code:

<div id=”container”>
         <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
         <?php endwhile; ?>
         <?php endif; ?>
</div>

Zoals je ziet staat de code uitgelijnd. Dit is om het allemaal een beetje overzichtelijk te houden. In deze lessen zal ik het niet iedere keer doen, dus je zult er zelf een beetje rekening mee moeten houden.

oké, de uitleg:
- if(have_posts()) : kijken of er posts zijn. (if loop, dus: zo ja, ga verder)
-while(have_posts()) : zolang ze er zijn, voer het volgende commando uit (in dit geval the_post()).
-the_post(); : roept de post die moet worden weergegeven op.
-endwhile;  : om ons weer aan de regels te houden; dit is de sluit ‘tag’ voor de while loop
-endif; : sluit de if loop.

Zoals je misschien is opgevallen heeft niet ieder commando een code nodig om af te sluiten, sommige stukjes code kunnen zichzelf sluiten, zoals hierboven the_post();

#stap 3
In een vorige les hebben we al bekeken hoe we de blog titel op moesten vragen. Dit keer vragen we de blog titel op, en we zetten dit tussen de loop.
Dus: Typ <?php the_title(); ?> na the_post(); ?> en voor<?php endwhile; ?>

<div id=”container”>
         <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
         <?php the_title(); ?> 
         <?php endwhile; ?>
         <?php endif; ?>
</div>

Nu kun je op de site kijken, het is nog niet erg mooi, (een lange lijn) maar er is een begin toch ?

#stap 4
We gaan van de titel weer een link maken, in een vorige les hebben we dit al besproken, dus ik wil er niet al te lang bij stil staan: plaats de <a href=”#” mce_href=”#”></a> tags om de <?php the_title(); ?> heen.
Net zoals de vorige keer, linkt deze link naar #, Hier hebben we niet veel aan; plaats in plaats van het # de volgende code:

<?php the_permalink(); ?>

Deze code is een code om de link van iedere post op te halen.

#stap 5
Om een klein beetje opmaak aan de link te geven, maken we gebruik van de al eerder besproken <h2></h2> tags.
Zet deze tags om de gehele link heen.
Als het goed is heb je nu de volgende code:

<h2>
      <a href=”<?php the_permalink();”>
             <?php the_title(); ?>
       </a>
</h2>

Dit was het eind van deze les. voor het geval je het nog niet gedaan hebt, raad ik je aan om een aantal test berichten op je site te plaatsen, zo kun je makkelijker testen of alles werkt.
 

Tags: tutorials · webdesign

9 responses so far ↓

  • 1 Bart // Mar 2, 2009 at 12:04 am

    Het heeft helaas even moeten duren, maar ik beloof dat deze week de volgende les geplaatst gaat worden.

    Nog eventjes geduld dus!

    gr,

  • 2 L // Mar 20, 2009 at 10:42 am

    Ik kijk uit naar de volgende les

  • 3 Herriaan // May 6, 2009 at 4:05 pm

    Hallo,

    ik krijg bij stap 3 de volgende error in in index:

    Fatal error: Call to undefined function have_post() in /usr/home/…

    Het gaat om de volgende regel:

    Misschien dat iemand mij kan helpen?
    Alvast bedankt…

    Groetjes!

  • 4 Herriaan // May 6, 2009 at 4:07 pm

    de regel wordt niet weergegeven. Hierbij nogmaals:

    Hopen dat hij het doet:P

  • 5 Herriaan // May 6, 2009 at 4:08 pm

    if (have_post()):
    while (have_post()):the_post();

  • 6 NicoKa // Jan 3, 2010 at 8:21 pm

    ik krijg deze melding in het dashboard:
    Het thema dat je gebruikt is niet geschikt voor gebruik van widgets, omdat het geen zijbalk heeft die je kunt aanpassen

  • 7 Poitrrr // Mar 20, 2010 at 8:40 pm

    Ik krijg een vage $end error:

    Parse error: syntax error, unexpected $end in /index.php on line 32

    Heb alles nagelopen. Help!

  • 8 Poitrrr // Mar 20, 2010 at 9:03 pm

    Opgelost:

    Dit:

    Moet vervangen worden door:
    “>

  • 9 Wietse // Jul 13, 2010 at 10:41 am

    Komt die volgende les nog? Er werd gezegt dat er nog 1 kwam dus…

Leave a Comment