Sådan tilføjer du estimeret læsetid til WordPress-indlæg og -sider uden et plugin

 

Sådan tilføjer du estimeret læsetid til WordPress-indlæg og -sider uden et plugin

Læsetid.

øger rapportering af læsetid den tid, der bruges på webstedet?

I nogle tilfælde kan tilføjelsen af denne information øge den tid, de besøgende bliver på din hjemmeside.

Ud fra forskellige analyser og erfaringer ser det i hvert fald ud til, at folk er mere tilbøjelige til at besøge en artikel, når de på forhånd ved, hvor lang tid det cirka vil tage dem at læse den.

hvor hurtigt læser vi?

Når man læser forskellige tekster, er der nogle data eller tilnærmelser, der går igen, f.eks. at den gennemsnitlige læsehastighed for en voksen er 240 ord i minuttet med en forståelsesgrad på 60%, men at læsehastigheden falder med ca. 25%, når man læser på en computerskærm i stedet for på papir.

Det er grunden til, at hastigheden i eksemplet her er sat til 200 ord i minuttet.

Tilføjelse af estimeret læsetid uden et plugin

Denne information kan tilføjes med et plugin eller en smule kode. Da det er et dogme her at undgå at installere et nyt plugin, der kun er godt til én simpel ting (desuden er de fleste af dem stort set forladt), forklarer vi, hvordan man gør det med et uddrag.

Hvis du foretrækker noget mere visuelt og enkelt som en fremdriftslinje øverst på siden, der fyldes op, mens du læser, kan du her se, hvordan du tilføjer det uden et plugin.

Jeg har valgt og testet denne kode, fordi den er den enkleste, da de, der tager højde for billeder, måler en parameter, der er ret relativ. Det vil afhænge af typen af billeder, deres størrelse og mængden af elementer og tekst, de indeholder, osv. og det forfiner ikke det samlede antal for meget.

Der er ikke mange blogs, der tilføjer dette estimat inklusive billeder, men da der på denne blog er masser af dem, og de fleste af dem er vignetter med lidt tekst, har jeg besluttet at lade det være 10 sekunder, og det virker stadig meget for mig.

Medium, for eksempel, måler 265 ord pr. minut med en justering for billeder på 12 sekunder for det første, 11 for det andet og 1 sekund mindre for hvert billede derefter. Alt andet efter det tiende billede tælles med i tre sekunder. Kilde.

For kinesiske, japanske og koreanske publikationer sætter Medium antallet af tegn til 500 pr. minut med samme indstilling som ovenfor for billeder.

Kode, beregner under hensyntagen til tekst og billeder

Denne anden kode tager højde for læsetiden for billeder, som er sat til 10 sekunder, men måske er det for lang tid for nogle billeder, så jeg har sænket den til 6 sekunder. Det kan altid forbedres ved at tilføje beregningen af sekunder eller mere komplekse variabler afhængigt af billedernes højde eller andre parametre for at forsøge at forfine dataene lidt mere (jeg opfordrer alle, der ved det, til at gøre det).

/*Læsetid */
function wp_reading_time() {
// GET WORDPRESS POST CONTENT
$content = get_post_field( 'post_content', $post->ID );
// COUNT NUMBER OF WORDS
$word_count = str_word_count( strip_tags( $content ) );
// COUNT NUMBER OF IMAGES
$image_count = substr_count( $content, '<img' );
// TEXT READING TIME - 200 WORDS PER MINUTE
$reading_time = $word_count / 200;
// BILLEDLÆSNINGSTID - 10 SEKUNDER PER BILLEDE
$image_time = ( $image_count * 10 ) / 60;
// TILFØJ TEKST- OG BILLEDLÆSNINGSTID
$total_time = round( $reading_time $image_time );
// DETERMINE IF SINGULAR OR PLURAL
if ( $total_time == 1 ) { $minute = " minute"; }
else { $minute = " minutes"; }
return $total_time . $minute;
 }

*Selvom denne kode fungerer i GeneratePress, registrerer error_log en tilbagevendende fejl på denne linje:

// GET WORDPRESS POST CONTENT
$content = get_post_field( 'post_content', $post->ID );

Fejlen er denne:

Forsøg på at læse egenskaben "ID" på null i ...  /path and line number of functions.php
PHP Warning: Undefined variable $post in ...    /path og samme linjenummer i functions.php

Jeg prøver stadig at finde ud af, hvordan jeg løser det.

Der er flere måder at tilføje koden på: downloade og redigere functions.php lokalt, direkte fra WordPress' skabeloneditor (Appearance/Theme Editor) eller redigere den, også "on the fly", fra din Cpanel-filhåndtering eller lignende.

Hvis du ikke føler dig modig nok til at tilføje dette uddrag til din skabelons functions.php-fil i hånden, kan du vælge at gøre det ved hjælp af Code Snippets-pluginet, som også tjener til at holde din samling af funktioner bedre organiseret på ét sted.

På den måde kan du hurtigt og nemt vende tilbage til ændringer, hvis noget går i stykker, eller koden ikke længere er kompatibel med en opdatering af PHP, et plugin eller WordPress-kernen

Så skal du bare tilføje denne kode, der vil male minutterne på din blog, hvor der står "estimeret læsetid", kan du skrive, hvad du synes er bedst.

<?php echo "Læsetid: " . wp_reading_time(); ?>

Du kan tilføje det, hvor du vil, men hvis du beslutter dig for at placere det i indlæggets meta, hvor din skabelon viser forfatteren af indlægget, datoen for offentliggørelsen, antallet af kommentarer osv., skal du tilføje koden til indlæggets meta loop i content.php- eller single.php-filen (afhængigt af hver skabelon) eller page.php, hvis du også vil tilføje det til siderne.

Når du har tjekket, at det virker, skal du bare tilpasse formateringen, tilføje et ikon eller noget andet. Her ser det sådan ud:

Sådan tilføjer du estimeret læsetid til WordPress-indlæg og -sider uden et plugin 1

Jeg valgte at tilføje det med en kortkode, der er oprettet med Ad Inserterchild theme i skabelonen, der er oprettet med Elementor PRO til alle indlæg.

Cómo añadir el tiempo de lectura estimado en los post y páginas de WordPress
Sådan tilføjer du estimeret læsetid til WordPress-indlæg og -sider uden et plugin 3

Selvom det lyder rodet, er det en meget ren mulighed for ikke at skulle røre en eneste kodelinje i WordPress og til enhver tid at kunne ændre den hurtigt og uden komplikationer.

Kode, der kun beregner ved at måle tekst

Her har du en anden alternativfunktion, der kun tæller tekst og viser minutter og sekunder, det er den, jeg bruger nu, og den returnerer ikke nogen PHP-fejl.

 * Estimer den tid, det tager at læse et indlæg i WordPress */

function wpr_estimate_read_time() {

 $input = get_post();

 $ppm = 250; // vi kan vælge den PPM, vi ønsker (200-300, for eksempel)
 $words = str_word_count( strip_tags( $input->post_content ) );
 $minutes = floor( $words / $ppm );
 $seconds = floor( ( $words % $ppm ) / ( $ppm / 60 ) );
  
 if ( 1 <= $minutes ) {
 $estimated_time = $minutes . ' minute' . ( ( 1 === $minutes ? '' : 's');
 if ( $seconds > 0 ) {
 $estimated_time .= ', ' . $seconds . ' second' . ( 1 === $seconds ? '' : 's' );
 }
 } else {
 $estimated_time = $seconds . ' second' . ( 1 === $seconds ? '' : 's' );
 }

 return $estimated_time;
}

For at tilføje det hvor som helst:

<?php echo "Læst ind: " . wpr_estimate_time_read(); ?>

Opdatering 21. marts 2023

Ekstra, ordtæller uden plugin

En enkel og hurtig måde at tilføje antallet af ord i hvert indlæg. Du kan placere den under titlen eller i meta, eller hvor du vil, og formatere den med noget CSS.

1-Opret kortkode med kodestykke.

add_shortcode('counter', 'word_count');

2-Tildel funktionen.

function word_count() {
$content = get_post_field( 'post_content', get_the_ID());
$word_count = str_word_count( strip_tags( $content ) );
return $word_count;
}
echo ' ' , word_count();

Til sidst tilføjer du kortkoden "counter" i skabelonen med Elementor, GeneratePress, eller hvad du nu bruger, ved hjælp af den samme metode som beskrevet ovenfor.

Og dette er resultatet:

Contador de palabras sin plugin para WordPress

Suscríbete por email para recibir las viñetas y los artículos completos y sin publicidad