Kaip pridėti numatomą skaitymo laiką prie "WordPress" įrašų ir puslapių be įskiepio

 
Kaip pridėti numatomą skaitymo laiką prie "WordPress" pranešimų ir puslapių

Skaitymo laikas.

Ar skaitymo laiko pateikimas padidina skaitymo trukmę?

Kai kuriais atvejais šios informacijos įtraukimas gali pailginti lankytojų svetainėje praleidžiamą laiką.

Remiantis įvairiomis analizėmis ir patirtimi, bent jau taip teigiama, atrodo, kad žmonės yra labiau linkę aplankyti straipsnį, jei iš anksto žino, kiek laiko užtruks jį perskaityti.

Kaip greitai skaitome?

Skaitant įvairius tekstus, kartojasi kai kurie duomenys ar apytiksliai duomenys, pavyzdžiui, kad vidutinis suaugusio žmogaus skaitymo greitis yra 240 žodžių per minutę, o supratimo lygis - 60 %, tačiau skaitant ne popieriuje, o kompiuterio ekrane, skaitymo greitis sumažėja maždaug 25 %.

Todėl čia pateiktame pavyzdyje nustatytas 200 žodžių per minutę greitis.

Pridėti numatomą skaitymo laiką be įskiepio

Šią informaciją galima pridėti naudojant įskiepį arba šiek tiek kodo. Kadangi čia dogma yra vengti įdiegti naują įskiepį, kuris tarnauja tik vienam paprastam dalykui (be to, dauguma jų yra gana apleisti), paaiškinsime, kaip tai padaryti su fragmentu.

Jei pageidaujate ko nors paprastesnio ir vaizdingesnio, pavyzdžiui, skaitymo pažangos juostos viršuje, kuri pildosi jums skaitant, čia rasite, kaip ją pridėti be įskiepio.

Pasirinkau ir išbandžiau šį kodą, nes jis yra paprasčiausias, nes tie, kurie atsižvelgia į vaizdus, matuoja gana reliatyvų parametrą. Tai priklauso nuo paveikslėlių tipo, jų dydžio, juose esančių elementų ir teksto kiekio ir t. t. ir per daug netikslina bendro skaičiaus.

Nedaug tinklaraščių pridėti šį įvertinimą, įskaitant vaizdus, bet kaip šiame dienoraštyje jie gausu ir dauguma jų yra vinjetės, pagal jų pobūdį su mažai teksto, Aš nusprendžiau palikti jį 10 sekundžių ir tai vis dar atrodo daug man.

Pavyzdžiui, "Medium" rodiklis yra 265 žodžiai per minutę, o paveikslėlių koregavimas yra 12 sekundžių pirmajam paveikslėliui, 11 sekundžių antrajam ir 1 sekunde mažiau kiekvienam vėlesniam paveikslėliui. Bet kuris po dešimto paveikslėlio skaičiuojamas trimis sekundėmis. Šaltinis.

Kinų, japonų ir korėjiečių leidiniams "Medium" nustatomas 500 simbolių per minutę skaičius, nustatant tą patį nustatymą, kaip ir paveikslėlių atveju.

Kodas: apskaičiuoja atsižvelgiant į tekstą ir vaizdus.

Šiame kitame kode atsižvelgiama į vaizdų nuskaitymo laiką, kuris nustatytas 10 sekundžių, bet galbūt kai kuriems vaizdams jis per ilgas, todėl jį sumažinau iki 6 sekundžių. Jį visada galima patobulinti pridedant sekundžių skaičiavimą arba sudėtingesnius kintamuosius, priklausančius nuo paveikslėlių aukščio ar kitų parametrų, ir taip pabandyti šiek tiek patobulinti duomenis (raginu tai padaryti visus, kas žino).

/*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;

}

*Šis kodas, nors ir veikia GeneratePress, error_log'e šioje eilutėje įrašoma pasikartojanti klaida:

// OBTENER EL CONTENIDO DE LA ENTRADA DE WORDPRESS
$content = get_post_field( 'post_content', $post->ID );

Ši klaida:

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

Vis dar bandau išsiaiškinti, kaip jį ištaisyti.

Kodą galima pridėti keliais būdais: atsisiųsti ir redaguoti functions.php vietoje, tiesiogiai iš "WordPress" šablono redaktoriaus (išvaizdos/šablonų redaktoriaus) arba redaguoti, taip pat "skraidant", iš "Cpanel" failų tvarkyklės ar panašiai.

Jei nesijaučiate pakankamai drąsūs, kad rankiniu būdu pridėtumėte šį fragmentą į savo šablono functions.php failą, galite tai padaryti naudodami " Code Snippets" įskiepį, kuris taip pat padeda geriau organizuoti funkcijų rinkinį vienoje vietoje.

Taip galėsite greitai ir lengvai grąžinti pakeitimus, jei kas nors sugenda arba kodas nebesuderinamas su PHP, įskiepiu ar "WordPress" branduolio atnaujinimu.

Tada tiesiog pridėkite šį kodą, kuris jūsų tinklaraštyje nurodys minutes, o ten, kur parašyta "Numatomas skaitymo laikas", galite rašyti, ką tik norite.

<?php echo "Tiempo de lectura: " . wp_reading_time(); ?>

Jį galite pridėti, kur tik norite, tačiau jei nuspręsite jį įdėti į post meta, kur jūsų šablonas rodo posto autorių, paskelbimo datą, komentarų skaičių ir t. t., turite pridėti kodą į post meta ciklą content.php arba single.php faile (priklausomai nuo kiekvieno šablono) arba page.php, jei norite jį pridėti ir į puslapius.

Patikrinę, ar jis veikia, tiesiog pritaikykite formatą, pridėkite piktogramą ar kt. Čia jis atrodo taip:

Kaip pridėti numatomą skaitymo laiką prie "WordPress" įrašų ir puslapių be įskiepio 1

Aš pasirinkau pridėti jį su trumpuoju kodu, sukurtu su " Ad Inserter" ant vaikiškos temos šablone, sukurtame su " Elementor PRO" visiems pranešimams .

Kaip pridėti numatomą skaitymo laiką prie "WordPress" pranešimų ir puslapių

Nors tai skamba netvarkingai, tačiau tai labai švari galimybė, kai nereikia paliesti nė vienos "WordPress" kodo eilutės ir bet kuriuo metu galima greitai ir be komplikacijų jį keisti.

Kodas: skaičiuoja tik matuojant tekstą

Čia yra alternatyvi funkcija, kuri skaičiuoja tik tekstą ir rodo minutes ir sekundes, ją naudoju dabar ir ji negrąžina jokių PHP klaidų.

 * 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;
}

Pridedama bet kur:

<?php echo "Se lee en: " . wpr_estima_tiempo_lectura(); ?>

Atnaujinti 2023 m. kovo 21 d.

Papildomai, žodžių skaitiklis be įskiepio

Paprastas ir greitas būdas pridėti žodžių skaičių kiekviename pranešime. Jį galite įrašyti po pavadinimu, meta arba kur tik norite ir suformatuoti naudodami šiek tiek CSS.

1-sukurti trumpąjį kodą su kodo fragmentu.

add_shortcode('contador', 'word_count');

2 - funkcija yra priskirta.

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

Galiausiai, naudodami tą patį metodą, aprašytą aukščiau, pridėkite "counter" shortcode į šabloną su Elementor, GeneratePress ar bet kokiu kitu jūsų naudojamu būdu.

Štai toks rezultatas:

Žodžių skaitiklis be WordPress įskiepio