Lesezeit

Lesedauer von Beiträgen in WordPress anzeigen

Info echo

Ist der Classic-Editor schon zu kennen? –
“Classic und TinyMCE – ist so klasse!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

Anklickt Classic-Editor mit TinyMCE Advanced
“Classic und TinyMCE – ist das ausgezeichnete!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

Klassischen Editor anwenden! – und …
“Classic und TinyMCE – ist so sehr gut !”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

… die Welt gehört dem, der sie genießt.
“Classic und TinyMCE – und tut sehr gut!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

TinyMCE aktive Installationen: 2+ Millionen
“Classic und TinyMCE – ist so fabelhaft!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

Ansprechend! – so gehts hier zum Progress
“Classic und TinyMCE – ist de luxe!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

… und NEU! – Classic Widgets
“Classic Widgets – sind so grandiose!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Info echo

Werkraum ist Werkraum und Frontend ist Frontend
Illustraion SVG unDraw; Ticker von Ditty News Ticker
“Classic und TinyMCE – ist so fein!”
Anklickt Classic! – TinyMCE; und NEU! – Classic Widgets

Die geschätzte Lesedauer in WordPress Beiträgen. Das mag für den Besucher die Vorabinformation des Artikels sein. So ist zu sehen, in welcher Zeitspanne hier zum Erfolg zu kommen ist.  Der Zeitdauer zum Wälzen ist nur das Prägnant, welches wirklich zu lesen ist, also ohne das der Bilder. Da ist sehr guter Code von der Website Kulturbanause. Und weiter bei so Beiträgen mit mehreren Codes im <pre>-Tag. Wäre das auch herauszurechnen? Der Frage ist hier dann noch eine kleine Erweiterung, dass die Codes welche innerhalb <pre>-Tags sind, nicht in die Lesezeit mit einfließen.

Geschätzte Lesedauer 

Das PHP frei nach Kulturbanause im Titel Geschätzte Lesezeit von Beiträgen in WordPress anzeigen. Hier dann mit der Erweiterung, um die Inhalte (bspw von Codes) im <pre>-Tag herauszurechnen.

Themes functions.php

/* Lesezeit anzeigen */
function kb_readingTime($post = null, $wpm = 225)
{
// 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 --> die Funktion zum pre-Tag
function strip_pre_tags($content)
{
$regex = '/<pre[^>]*>([\s\S]*?)<\/pre[^>]*>/m';

return preg_replace($regex, '', $content);
}

Hinweise

  • Die Funktion um des <pre>-Tags Inhalte herauszurechnen, siehe https://www.phpliveregex.com/p/G7u#tab-preg-replace.
  • Der Reihenfolge wie oben des Codes ist das richtig. Denn wenn es der Reihenfolge anders, kann es die <pre>-Tags nicht entfernen, weil sie in der Zeile davor entfernt wurden. Also gemeint ist das $content = strip_pre_tags($content);. Wenn das so unterhalb eingefügt ist, dann funktioniert wie folgend das Beispiel ∴nicht∴
// Inhalt auslesen und bereinigen, so nicht
$content = get_post_field('post_content', $post);
$content = strip_tags(strip_shortcodes($content));
$content = strip_pre_tags($content); // <-- NEU !!

Der Code zur Ausgabe

Der Vollständigkeitshalber ist hier nach Kulturbanause nochmal der Code zur Ausgabe:

<?php echo kb_readingTime(); ?>
Lesedauer, Beispiel Twenty Fourteen Theme content.php
Beispiel Twenty Fourteen Theme content.php

Danke an ‘Kulturbanause’ und andere WP-Freunde.