Så här lägger du till beräknad lästid till WordPress-inlägg och sidor utan ett plugin

 

Så här lägger du till beräknad lästid till WordPress-inlägg och sidor utan ett plugin

Lästid.

ökar rapporteringen av lästid den tid som spenderas på webbplatsen?

I vissa fall kan tillägg av denna information öka den tid som besökarna stannar på din webbplats.

Från olika analyser och erfarenheter verkar det åtminstone som att människor är mer benägna att besöka en artikel när de i förväg vet den ungefärliga tid det kommer att ta för dem att läsa den.

hur snabbt läser vi?

När man läser olika texter framträder vissa uppgifter eller approximationer som upprepas, t.ex. att den genomsnittliga läshastigheten för en vuxen är 240 ord per minut med en förståelsegrad på 60%, men läshastigheten minskar med 25% när man läser på en datorskärm istället för på papper.

Det är därför som hastigheten i det exempel som presenteras här är satt till 200 ord per minut.

Lägga till uppskattad lästid utan plugin

Denna information kan läggas till med ett plugin eller med lite kod. Eftersom det är en dogm här att undvika att installera ett nytt plugin som bara är bra för en enkel sak (dessutom är de flesta av dem ganska övergivna) förklarar vi hur man gör det med ett utdrag.

Om du föredrar något mer visuellt och enkelt som en förloppsindikator högst upp på sidan som fylls på när du läser, kan du här hitta hur du lägger till det utan ett plugin.

Jag har valt och testat den här koden eftersom den är den enklaste eftersom de som tar hänsyn till bilder mäter en parameter som är ganska relativ. Detta beror på typen av bilder, deras storlek och mängden element och text de innehåller etc. och det förfinar inte det totala antalet för mycket.

Det är inte många bloggar som lägger till denna uppskattning inklusive bilder, men eftersom det i denna blogg finns gott om dem och de flesta av dem är vinjetter, till sin natur med lite text, har jag bestämt mig för att lämna det på 10 sekunder och det verkar fortfarande mycket för mig.

Medium, till exempel, mäter 265 ord per minut med en justering för bilder på 12 sekunder för den första, 11 för den andra och 1 sekund mindre för varje bild efter det. Allt efter den tionde bilden räknas som tre sekunder. Källa.

För kinesiska, japanska och koreanska publikationer sätter Medium antalet tecken till 500 per minut med samma inställning som ovan för bilder.

Kod, beräknar med hänsyn till text och bilder

Denna andra kod tar hänsyn till lästiden för bilder, som är inställd på 10 sekunder, men kanske är det för lång tid för vissa bilder så jag har sänkt den till 6 sekunder. Det kan alltid förbättras genom att lägga till beräkningen av sekunder eller mer komplexa variabler beroende på höjden på bilder eller andra parametrar för att försöka förfina uppgifterna lite mer (jag uppmuntrar alla som vet att göra det).

/*Läsningstid */

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;

// BILDLÄSNINGSTID - 10 SEKONDER PER BILD
$image_time = ( $image_count * 10 ) / 60;

// LÄGG TILL LÄSNINGSTID FÖR TEXT OCH BILDER
$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;

}

*Denna kod fungerar visserligen i GeneratePress, men error_log registrerar ett återkommande fel på denna rad:

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

Felet är detta:

Försök att läsa egenskapen "ID" på null i ...  /path och radnummer i functions.php
PHP-varning: Odefinierad variabel $post i ...    /path och samma radnummer i functions.php

Jag försöker fortfarande ta reda på hur man fixar det.

Det finns flera sätt att lägga till koden: ladda ner och redigera functions.php lokalt, direkt från WordPress mallredigerare (Appearance/Theme Editor) eller redigera den, även "on the fly", från din Cpanel filhanterare eller liknande.

Om du inte känner dig tillräckligt modig för att lägga till det här kodavsnittet i mallens functions.php -fil för hand kan du välja att göra det med hjälp av pluginet Code Snippets, som också hjälper dig att hålla din samling av funktioner bättre organiserade på ett och samma ställe.

På så sätt kan du snabbt och enkelt återställa ändringar om något går sönder eller om koden inte längre är kompatibel med en uppdatering av PHP, ett plugin eller WordPress-kärnan

Lägg sedan bara till den här koden som kommer att måla upp minuterna på din blogg, där det står "beräknad lästid" kan du skriva vad du tycker är bäst.

<?php echo "Lästid: " . wp_reading_time(); ?>

Du kan lägga till den var du vill, men om du bestämmer dig för att lägga till den i inläggsmetan, där din mall visar författaren till inlägget, publiceringsdatum, antal kommentarer etc. måste du lägga till koden i inläggsmetaslingan i filen content.php eller single.php (beroende på varje mall) eller page.php om du vill lägga till den på sidorna också.

När du har kontrollerat att det fungerar är det bara att anpassa formateringen, lägga till en ikon eller vad som helst. Här ser det ut så här:

Så här lägger du till beräknad lästid till WordPress-inlägg och sidor utan ett plugin 1

Jag valde att lägga till den med en kortkod skapad med Ad Inserterbarntemat i mallen skapad med Elementor PRO för alla inlägg.

Cómo añadir el tiempo de lectura estimado en los post y páginas de WordPress
Så här lägger du till beräknad lästid till WordPress-inlägg och sidor utan ett plugin 3

Även om det låter rörigt så är det ett väldigt stilrent alternativ att inte behöva röra en enda rad kod i WordPress och att kunna ändra den snabbt och utan komplikationer när som helst.

Kod, beräknar endast genom att mäta text

Här har du en annan alternativfunktion som räknar endast text och visar minuter och sekunder, det är den jag använder nu och den returnerar inte något PHP-fel.

 * Uppskatta den tid det tar att läsa ett inlägg i WordPress */

function wpr_estimate_read_time() {

 $input = get_post();

 $ppm = 250; // vi kan välja den PPM vi vill ha (200-300, till exempel)
 $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 . ' minut' . ( ( 1 === $minutes ? '' : 's');
 if ( $seconds > 0 ) {
 $estimated_time .= ', ' . $seconds . ' sekund' . ( 1 === $sekunder ? '' : 's' );
 }
 } else {
 $estimated_time = $sekunder . ' sekund' . ( 1 === $sekund ? '' : 's' );
 }

 return $estimated_time;
}

För att lägga till den var som helst:

<?php echo "Läst in: " . wpr_estimate_time_read(); ?>

Uppdatering 21 mars 2023

Extra, ordräknare utan plugin

Ett enkelt och snabbt sätt att lägga till antalet ord i varje inlägg. Du kan placera den under titeln eller i meta, eller var du vill och formatera den med lite CSS.

1 - Skapa kortkod med Code Snippet.

add_shortcode('counter', 'word_count');

2-Tilldela 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();

Slutligen lägger du till kortkoden "counter" i mallen med Elementor, GeneratePress eller vad du nu använder med samma metod som beskrivs ovan.

Och detta är 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

Relaterade artiklar

Prenumeration via e-post

Få gratis artiklar i sin helhet i din inkorg utan reklam så snart de publiceras. Hela innehållet i flödet skickas reklamfritt via en extern tjänst.