Automatisch aangemaakte excerpt met unieke leesmeer-link in WordPress

Bij een weergave van een opsomming van berichten kun je in WordPress gebruik maken van drie mogelijkheden:

  • laat het hele bericht zien
  • laat alleen zien wat boven de [more] lijn staat
  • laat zien wat er in het veld excerpt (samenvatting) staat.

In de praktijk blijkt dit voor veel gebruikers verschrikkelijk verwarrend en gebruiken ze de [more]-optie en excerpt niet, of vergeten ze dit. Met als gevolg dat overzichtspagina’s en zoekresultaten bestaan uit hele berichten en te lang en onhandig worden. Om een makkelijke oplossing te bieden kun je de weergave van de excerpt aanpassen en automatisch laten aanmaken. Bijkomend voordeel is dat je hiermee ook de link [lees meer] kunt aanpassen. De tekst van link is nu niet uniek, op een pagina kunnen meerdere “lees meer.. ” links staan. Dit komt de toegankelijkheid en SEO niet ten goede.

De code

Voeg toe aan functions.php

function new_excerpt_more($post) {
  $post_id = get_post($post->ID);
  $title = $post_id->post_title;
  return ' &raquo; <a href="'.
       get_permalink($post->ID) .
       '" title="Lees meer over '.$title.'">' .
       'lees verder' . '</a>';
}
function new_excerpt_length($length) {
   return 30;
}
add_filter('excerpt_more', 'new_excerpt_more');
add_filter('excerpt_length', 'new_excerpt_length');

Aanroepen in de loop van bijvoorbeeld de index.php of search.php:

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanente link naar <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<div class="entry">
<?php 
  the_post_thumbnail();
  the_excerpt(); 
?>
</div>

Wat gebeurt er

  • new_excerpt_length definieert de lengte van de samenvatting in woorden, 30 in dit geval.
  • new_excerpt_more haalt de titel van de post op en zet deze in de title van de link zodat deze te onderscheiden valt ten opzichte van de andere “lees meer…” links.

Je kunt de tekst van de titel ook in de link zelf zetten, bijvoorbeeld “Lees meer over vacature webbouwer”. Nadeel hiervan is dat als de titel erg lang is het heel onrustig staat en het dubbelop is.

Het grote voordeel van deze constructie is dat de gebruiker zich geen zorgen meer hoeft te maken over de samenvatting. Alle samenvattingen zijn ongeveer even groot en ook wordt alle HTML-code eruit gesloopt.

Voorbeeld: nieuwsoverzicht bij allesoverzoeten.nl

Documentatie op WordPress.com: Function Reference/the excerpt

Advertisements

Author: Rian Rietveld

WordPress Engineer focussing on accessibility

2 thoughts on “Automatisch aangemaakte excerpt met unieke leesmeer-link in WordPress”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s