Något som har blivit en allt vanligare syn på webbplatser med längre artiklar är lästidsräknare – en funktion som visar en uppskattning av hur lång tid det kommer att ta att läsa en artikel baserat på antalet ord. Medium är ett framstående exempel. Slate är ett annat.

Slate var en av de första webbplatserna att introducera funktionen, och de möttes av både kritik och satir. Men siffrorna talar sitt tydliga språk: att visa lästiden för artiklar ökar tiden besökare spenderar på en sida. Så hur kan du implementera det på din WordPress-webbplats?

Tillägg för lästid

Som med så många andra funktioner finns det flera tillägg som ordnar funktionaliteten åt dig. Ett av tilläggen är Estimated Post Reading Time. Post Reading Time är ett annat. Nackdelen med dessa tillägg är dock dels att det inte går att ändra var på webbplatsen lästiden ska visas, dels att tilläggen bara har engelsk text.

De flesta webbplatser visar ett inläggs lästid i inläggets meta-information, tillsammans med dess publiceringsdatum, kategorier och etiketter. Vill du uppnå samma resultat – och visa texten på svenska – måste du lägga till lästid som en funktion i ditt tema.

Lästid utan tillägg

Börja med att öppna ditt temas functions.php-fil, antingen i en kodeditor eller i administrationspanelen under Utseende > Redigerare. Scrolla till dokumentets botten. Gör två radbrytningar före raden med ”?>”-tecknen längst ner i dokumentet, och klistra in koden nedan (modifierad från Binary Moon):

/* Uppskattad lästid för inlägg */
function estimated_reading_time() {
$post = get_post();
$words = str_word_count( strip_tags( $post->post_content ) );
$minutes = floor( $words / 200 );
$seconds = floor( $words % 200 / ( 200 / 60 ) );
if ( 1 < $minutes ) {
$estimated_time = '<p class="reading-time">' . $minutes . ' minut' . ($minutes == 1 ? '' : 'er') . ', ' . $seconds . ' sekund' . ($seconds == 1 ? '' : 'er') . '</p>';
} else {
$estimated_time = '<p class="reading-time">' . $seconds . ' sekund' . ($seconds == 1 ? '' : 'er') . '</p>';
}
echo $estimated_time;
}

Koden ovan hämtar antalet ord i inlägget, räknar ut hur lång tid det skulle att läsa det om man läser 200 ord i minuten – ungefär den genomsnittliga läshastigheten – och visar svaret i en <p>-tagg med klassen ”reading-time”.

För att använda funktionen, öppna single.php och leta upp meta-informationen för inlägget (där datum och kategorier visas). Klistra in koden <?php estimated_reading_time(); ?> på ett lämpligt ställe och spara. Lästiden visas nu i varje enskilt inlägg och är redo att anpassas med CSS.