WordPress: Lesezeit für einen Beitrag ermitteln

Im Grunde genommen ist die Ermittlung der Lesezeit eine einfache Dreisatzrechnung mit der Anzahl der Wörter des Beitrags und einem angenommenen Wert für die Lesegeschwindigkeit des Besuchers.

Die durchschnittliche Lesegeschwindigkeit eines Benutzers findet sich in der Wikipedia mit 200 bis 240 Wörtern pro Minute angegeben. Das variiert natürlich abhängig von der Komplexität der Texte, ob viele lange oder kurze Wörter verwendet werden etc. pp. Aber da es hier ja explizit um eine einfache und schnelle Ermittlung der voraussichtlichen Lesezeit gehen soll, lassen wir das alles außen vor.

Am Beispiel von WordPress fügt man der functions.php eine kleine Funktion hinzu:

<?php

function flomei_reading_time($post_id) {
	$thepost = get_post( $post_id );
	$content = $thepost->post_content;
	$word_count = str_word_count( $content, 0 );
	
	$words_per_minute = 230;
	
	$time = ceil( $word_count / $words_per_minute );
	return $time;
}

Diese Funktion erwartet die Übergabe einer Post ID, bezieht sich dann den Inhalt des Posts, zählt die Wörter und teilt diese durch die angenommene Lesegeschwindigkeit die in $words_per_minute angegeben ist. Das Ergebnis wird mittels ceil() dann aufgerundet, um einen Wert in vollen Minuten zu erhalten. Auf Spielereien wie sekundengenaue Angaben verzichte ich.

Die Integration ins Theme kann dann zum Beispiel wie folgt geschehen:

<?php

$lesezeit = flomei_reading_time(get_the_ID());		
switch ( $lesezeit ) {
	case 1: echo '<br />Ca. 1 Minute Lesedauer<br />'; break;
	default: echo '<br />Ca. ' . $lesezeit . ' Minuten Lesedauer<br />'; break;
}

Über mich

Ich bin gelernter Mediengestalter, studierter Druck- und Medientechniker und leidenschaftlicher Tüftler und Bastler.

Beruflich beschäftige ich mich mit der digitalen Transformation von Unternehmen, sowie der Automatisierung von Unternehmensprozessen, in der Druck- und Medienbranche. Mehr dazu findet sich im Lebenslauf.

Privat interessieren mich Kaffee(maschinen), Themen rund um Webentwicklung, das Internet im Allgemeinen und Speziellen und vieles, vieles mehr.

Ich freue mich auf Feedback per E-Mail unter kontakt@flomei.de, einen Euro für die Kaffeekasse oder etwas von meiner Amazon Wunschliste.