Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets
Die durchschnittliche Lesedauer für Artikel automatisch anzeigen, also von Text die Lesezeit ermitteln. 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? So wäre das auch herauszurechnen? Somit der Frage folgt hier noch eine kleine Erweiterung, dass die Codes welche innerhalb <pre>
-Tags sind, nicht in die Lesezeit mit einfließen.
Wie berechnet man die 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 = 275) {
// 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 frei nach Kulturbanause nochmal der Code zur Ausgabe:
<?php echo kb_readingTime(); ?>

Danke an Kulturbanause und andere WP-Freunde.
Aktualisiert im Jahr 2023-April