
Lesetid.
Øker rapporteringen av lesetid oppbevaringsevnen?
I noen tilfeller kan det å legge til denne informasjonen øke tiden de besøkende tilbringer på nettstedet ditt.
Ut fra ulike analyser og erfaringer ser det ut til at folk er mer tilbøyelige til å besøke en artikkel når de på forhånd vet omtrent hvor lang tid det vil ta å lese den.
Hvor fort leser vi?
Ved lesing av ulike tekster gjentas noen data eller tilnærminger, for eksempel at den gjennomsnittlige lesehastigheten til en voksen er 240 ord per minutt med en forståelsesgrad på 60 %, men at lesehastigheten synker med omtrent 25 % når man leser på en dataskjerm i stedet for på papir.
Derfor er hastigheten i eksempelet som presenteres her, satt til 200 ord per minutt.
Legg til estimert lesetid uten plugin
Denne informasjonen kan legges til med en plugin eller med litt kode. Siden det er et dogme her å unngå å installere en ny plugin som bare tjener en enkel ting (dessuten er de fleste av dem ganske neglisjerte), forklarer vi hvordan du gjør det med et utdrag.
Hvis du foretrekker noe mer visuelt og enkelt, for eksempel en lesefremdriftslinje øverst som fylles opp etter hvert som du leser, kan du finne ut hvordan du legger det til uten en plugin her.
Jeg har valgt og testet denne koden fordi den er den enkleste, ettersom de som tar hensyn til bilder, måler en parameter som er ganske relativ. Dette vil avhenge av typen bilder, størrelsen på dem og mengden elementer og tekst de inneholder, osv. og avgrenser ikke det totale antallet for mye.
Det er ikke mange blogger som legger til dette estimatet, inkludert bildene, men siden de florerer i denne bloggen, og de fleste av dem er vignetter, i sin natur med lite tekst, har jeg bestemt meg for å la det være 10 sekunder, og det virker fortsatt mye for meg.
Medium måler for eksempel 265 ord per minutt med en justering for bilder på 12 sekunder for det første bildet, 11 for det andre og 1 sekund mindre for hvert bilde deretter. Alle bilder etter det tiende regnes som tre sekunder. Kilde: Kilde.
For kinesiske, japanske og koreanske publikasjoner setter Medium antall tegn til 500 per minutt med samme innstilling som ovenfor for bilder.
Kode: beregner med hensyn til tekst og bilder
Denne andre koden tar hensyn til lesetiden for bildene, som er satt til 10 sekunder, men kanskje det er for mye for noen bilder, så jeg har senket den til 6 sekunder. Det kan alltid forbedres ved å legge til beregning av sekunder eller mer komplekse variabler avhengig av høyden på bilder eller andre parametere for å prøve å avgrense dataene litt mer (jeg oppfordrer alle som vet det til å gjøre det).
/*Tiempo de lectura */
function wp_reading_time() {
// OBTENER EL CONTENIDO DE LA ENTRADA DE WORDPRESS
$content = get_post_field( 'post_content', $post->ID );
// CONTAR EL NÚMERO DE PALABRAS
$word_count = str_word_count( strip_tags( $content ) );
// CONTAR EL NÚMERO DE IMÁGENES
$image_count = substr_count( $content, '<img' );
// TIEMPO DE LECTURA DE TEXTOS - 200 PALABRAS POR MINUTO
$reading_time = $word_count / 200;
// TIEMPO DE LECTURA DE IMÁGENES - 10 SEGUNDOS POR IMAGEN
$image_time = ( $image_count * 10 ) / 60;
// AÑADIR EL TIEMPO DE LECTURA DE TEXTOS E IMÁGENES
$total_time = round( $reading_time + $image_time );
// DETERMINAR SI ES SINGULAR O PLURAL
if ( $total_time == 1 ) { $minute = " minuto"; }
else { $minute = " minutos"; }
return $total_time . $minute;
}
*Selv om denne koden fungerer i GeneratePress, registreres det en gjentakende feil på denne linjen i error_log:
// OBTENER EL CONTENIDO DE LA ENTRADA DE WORDPRESS
$content = get_post_field( 'post_content', $post->ID );
Denne feilen:
Attempt to read property "ID" on null in ... /ruta y nº de línea de functions.php
PHP Warning: Undefined variable $post in ... /ruta y mismo nº de línea de functions.php
Jeg prøver fortsatt å finne ut hvordan jeg kan fikse det.
Det er flere måter å legge til koden på: laste ned og redigere functions.php lokalt, direkte fra WordPress-malredigeringsprogrammet (Appearance/Theme Editor) eller redigere den, også "on the fly", fra filbehandleren din på Cpanel eller lignende.
Hvis du ikke føler deg modig nok til å legge til dette utdraget i malens functions.php-fil for hånd, kan du velge å gjøre det ved hjelp av Code Snippets-plugin-modulen, som også tjener til å holde samlingen av funksjoner bedre organisert på ett sted.
På denne måten kan du raskt og enkelt reversere endringer hvis noe går i stykker eller koden ikke lenger er kompatibel med en oppdatering av PHP, plugin eller WordPress-kjernen.
Deretter er det bare å legge til denne koden som vil male minuttene på bloggen din, der det står "estimert lesetid", kan du skrive hva du vil.
<?php echo "Tiempo de lectura: " . wp_reading_time(); ?>
Du kan legge den til hvor du vil, men hvis du bestemmer deg for å legge den i postmetaen, der malen din viser forfatteren av innlegget, datoen for publisering, antall kommentarer osv. må du legge til koden i postmeta-sløyfen i filen content.php eller single.php (avhengig av hver mal) eller page.php hvis du også vil legge den til på sidene.
Når du har sjekket at det fungerer, er det bare å tilpasse formatet, legge til et ikon eller hva som helst. Her ser det slik ut:

Jeg har valgt å legge den til med en kortkode opprettet med Ad Inserter på barnetemaet i malen som er opprettet med Elementor PRO for alle innlegg.


Selv om det høres rotete ut, er det et veldig rent alternativ å ikke måtte røre en eneste kodelinje i WordPress og å kunne endre den raskt og uten komplikasjoner når som helst.
Kode: beregner kun ved å måle tekst
Her er en alternativ funksjon som bare teller tekst og viser minutter og sekunder, det er den jeg bruker nå, og den returnerer ingen PHP-feil.
* Estima el tiempo necesario para leer una entrada en WordPress */
function wpr_estima_tiempo_lectura() {
$entrada = get_post();
$ppm = 250; // podemos escoger el PPM que queramos (200-300, por ejemplo)
$palabras = str_word_count( strip_tags( $entrada->post_content ) );
$minutos = floor( $palabras / $ppm );
$segundos = floor( ( $palabras % $ppm ) / ( $ppm / 60 ) );
if ( 1 <= $minutos ) {
$tiempo_estimado = $minutos . ' minuto' . ( 1 === $minutos ? '' : 's');
if ( $segundos > 0 ) {
$tiempo_estimado .= ', ' . $segundos . ' segundo' . ( 1 === $segundos ? '' : 's' );
}
} else {
$tiempo_estimado = $segundos . ' segundo' . ( 1 === $segundos ? '' : 's' );
}
return $tiempo_estimado;
}
Kan legges til hvor som helst:
<?php echo "Se lee en: " . wpr_estima_tiempo_lectura(); ?>
Oppdatering 21. mars 2023
Ekstra, ordteller uten plugin
En enkel og rask måte å legge til antall ord i hvert innlegg. Du kan legge det under tittelen eller i metaen, eller hvor du vil, og formatere det med litt CSS.
1-Lag kortkode med Code Snippet.
add_shortcode('contador', 'word_count');
2-Funksjonen er tilordnet.
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 slutt legger du til "counter"-kortkoden i malen med Elementor, GeneratePress eller hva du bruker, på samme måte som beskrevet ovenfor.
Og dette er resultatet:
