Geschätzte Lesezeit von Beiträgen in WordPress anzeigen

Web-Inhalte werden oft in klar begrenzten Zeitfenstern gelesen. Beispielsweise endet eine Bahnfahrt in wenigen Minuten oder es muss Zeit bis zum Beginn eines Treffens überbrückt werden. Mit der Anzeige der erwarteten Lesezeit könnt ihr eine hilfreiche Komfortfunktion anbieten. Je nach Länge des Artikels und Zeitfenster können Personen dann entscheiden, ob der Artikel für später gemerkt oder direkt gelesen wird.

Die Lesezeit eines Textes berechnen

Damit die durchschnittliche Lesezeit berechnet werden kann, sind lediglich zwei Variablen notwendig.

Die durchschnittliche Lesegeschwindigkeit ist unterschiedlich je nach Zielgruppe und Komplexität des Textes. Typisch sind Werte von ca. 300 Wörtern pro Minute. Wir verwenden in technischen Blog-Beiträgen meist einen Wert von 200 Wörtern pro Minuten um auszugleichen, dass Abschnitte doppelt gelesen werden und Code-Abschnitte oder erklärende Grafiken enthalten sind.

WordPress-Funktion für die Anzeige der Lesezeit

Die folgende Funktion definiert zu Beginn die Lesezeit (Wörter pro Minute) in der Variablen $wpm. Anschließend liest sie den Inhalt eines WordPress-Beitrags aus und löscht überflüssige Bestandteile. Die Anzahl der Wörter wird berechnet und in die Variable $word_count geschrieben.

Im zweiten Teil der Funktion wird die Anzahl der Wörter durch die Lesezeit geteilt. Im Ergebnis erhaltet ihr die erwartete Lesezeit.

<?php 
function kb_readingTime( $post = null, $wpm = 200 ) { 
  
  // Inhalt auslesen und bereinigen 
  $content = get_post_field( 'post_content', $post ); 
  $content = strip_tags( strip_shortcodes( $content ) );  
  
  // Anzahl der Wörter berechnen 
  $word_count = str_word_count( $content );  
  
  // Lesezeit berechnen 
  $reading_time = ceil( $word_count / $wpm );  
  return sprintf( esc_html__( 'Lesezeit ca. %s Min.'), $reading_time ); 
} 
?>

Die Ausgabe erfolgt mit folgendem Code:

<?php echo kb_readingTime(); ?>

Geschrieben von Jonas

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Feedback & Ergänzungen – 2 Kommentare

  1. Ditmar
    schrieb am 17.09.2022 um 12:19 Uhr:

    Den Inhalt des <pre>-Tags bei der Lesedauer ignorieren

    Das PHP frei nach Kulturbanause mit der gekennzeichneten Erweiterung, um Inhalte vom <pre>-Tag herauszurechnen. – wem’s interessiert.

    
    /* Lesezeit anzeigen WP */
    function kb_readingTime($post = null, $wpm = 250)
    {
        // Inhalt auslesen und bereinigen
        $content = get_post_field('post_content', $post);
    
        $content = strip_pre_tags($content); // <-- NEU !!
    
        $content = strip_tags(strip_shortcodes($content));
    
        // Anzahl der Wörter berechnen
        $word_count = str_word_count($content);
    
        // Lesezeit berechnen
        $reading_time = ceil($word_count / $wpm);
    
        return sprintf(esc_html__('Lesezeit so %s Min.   '), $reading_time);
    }
    
    // NEU, Funktion des <pre>-Tags herausrechnen
    function strip_pre_tags($content)
    {
      $regex = '/<pre[^>]*>([\s\S]*?)<\/pre[^>]*>/m';
      return preg_replace($regex, '', $content);
    }
    

    Funktion des <pre>-Tags herausrechnen, siehe https://www.phpliveregex.com/p/G7u#tab-preg-replace

    Antworten
  2. Lili
    schrieb am 28.01.2022 um 09:34 Uhr:

    Wie würde denn der Code aussehen, wenn man die Anzahl der Wörter statt der Lesezeit ausgeben will?

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →