Single post layout
In WordPress wordt content vaak geplaatst door gebruik te maken van posts/berichten. Bij het plaatsen van veel korte berichten is dat geen probleem, maar als je regelmatig langere berichten wilt plaatsen wordt je website al snel onoverzichtelijk. WordPress heeft daarvoor de oplossing om berichten verkort weer te geven. Er wordt een verkorte weergave van het bericht geplaatst met een link naar het volledige bericht. Het volledige bericht wordt als een aparte pagina geladen.
Er is maar een kleine aanpassing nodig om in plaats van een volledig bericht een verkort bericht te laden. In plaats van de functie ‘the_content()’te gebruiken voor het plaatsen van het volledige bericht, wordt de functie ‘the_excerpt()’ gebruikt voor het plaatsen van de verkorte tekst.
In onderstaand voorbeeld plaatsen we de volledige berichten in een div met de id ‘berichten’.
<body>
<div id=”berichten”>
<?php while ( have_posts() ) :
the_post(); ?>
<div class=”post”>
<h1><?php the_title(); ?></h1>
<p><?php the_content(); ?></p>
</div>
<?php endwhile; ?>
</div>
</body>
Om in plaats van volledige berichten, verkorte berichten te plaatsen is een kleine aanpassing nodig: We vervangen de functie ‘the_content()’ voor de functie ‘the_excerpt()’:
<body>
<div id=”berichten”>
<?php while ( have_posts() ) :
the_post(); ?>
<div class=”post”>
<h1><?php the_title(); ?></h1>
<p><?php the_excerpt(); ?></p>
</div>
<?php endwhile; ?>
</div>
</body>
Als we een verkorte weergave van het bericht gebruiken hebben we ook een link naar de volledige versie nodig. Hiervoor gebruiken we de titel van het bericht. In de h1-tag plaatsen we een a-tag die linkt naar het volledige bericht. Het link adres naar het volledige bericht laten we WordPress zelf maken met de functie ‘the_permalink()’.
<body>
<div id=”berichten”>
<?php while ( have_posts() ) :
the_post(); ?>
<div class=”post”>
<h1><a href=”<?php the_permalink(); ?>” ><?php the_title(); ?></a></h1>
<p><?php the_excerpt(); ?></p>
</div>
<?php endwhile; ?>
</div>
</body>
Bij het aanklikken van de de titel wil WordPress de volledige post op een aparte pagina vertonen. De opmaak voor die pagina moet wel omschreven worden. Standaard wordt voor de opmaak van het enkele bericht gebruik gemaakt van ‘index.php’. Om een bericht een eigen opmaak te geven kunnen we een nieuw php-bestand maken met de naam ‘single.php’.
Omdat we nu een enkel bericht laden is de post-loop niet langer nodig. Alleen het gevraagde bericht wordt vertoond:
<body>
<div id=”enkel_bericht”>
<? php the_post(); ?>
<h1> <?php the_title(); ?> </h1>
<p> <?php the_content(); ?> </p>
</div>
</body>
Het complete thema bestaat nu uit 3 bestanden: ‘index.php’, ‘single.php’ en ‘style.css’.