Agregar Tiempo de Lectura en WordPress

Written by:

|

tiempo de lectura en php

Añadir una estimación del tiempo de lectura en tu sitio web de WordPress es una excelente manera de mejorar la experiencia del usuario. Esto permite a los lectores saber cuánto tiempo les tomará leer un artículo antes de empezar, lo cual puede influir en su decisión de quedarse en la página. En este artículo, te voy a mostrar cómo agregar tiempo de lectura a tus publicaciones y en el extracto en WordPress.

¿Cómo se calcula el tiempo de lectura?

El tiempo de lectura se calcula generalmente basado en la cantidad de palabras en un artículo y la velocidad promedio de lectura, que es de alrededor de 200-250 palabras por minuto. Por lo tanto, si un artículo tiene 1000 palabras, el tiempo estimado de lectura será de unos 5 minutos (1000/200).

Velocidad Promedio de Lectura

Tiempo de Lectura:

Paso 1: Agregar Función para Calcular el Tiempo de Lectura

El primer paso es crear una función que calcule el tiempo de lectura en función de la cantidad de palabras en el contenido de la publicación. Esta función se puede añadir al archivo functions.php de tu tema o a un plugin personalizado.

function calculate_reading_time($post_id) {

    $content = get_post_field('post_content', $post_id);
    

    $word_count = str_word_count(strip_tags($content));
    

    $reading_speed = 200;
    

    $reading_time = ceil($word_count / $reading_speed);
    
    return $reading_time;
}

Paso 2: Mostrar el Tiempo de Lectura en la Publicación

Una vez que tengas la función de cálculo, puedes mostrar el tiempo de lectura en cualquier parte de tus plantillas de WordPress. En nuestro caso, lo vamos a agregar justo antes del contenido de la publicación del articulo.

Abre el archivo single.php de tu tema y añade el siguiente código justo antes de the_content():

<?php
$reading_time = calculate_reading_time(get_the_ID());
echo '<p>Tiempo estimado de lectura: ' . $reading_time . ' minutos</p>';
?>

Este código mostrará el tiempo estimado de lectura de la publicación actual basándose en el número de palabras.

Paso 3: Agregar el Tiempo de Lectura al Extracto

Si deseas agregar tiempo de lectura dentro del extracto (excerpt) de tus publicaciones en de WordPress, puedes hacerlo añadiendo unas funciones a través de functions.php que, una vez publicado/guardado/actualizado un articulo, presente el tiempo completo de lectura en el extracto. Aquí te muestro cómo hacerlo:

Primero vamos a crear la funcion que permitira guardar el tiempo de lectura al salvar y/o actualizar un articulo. En esta funcion, comenzamos chequeando si se realiza una revision al articulo o si el salvado automatico se activa. Luego vemos si estamos en un post ya que solo publicaremos el tiempo de lectura en los post. Ahora, dentro de la funcion, vuelvo a calcular el tiempo de lectura llamando a la funcion que creamos antes calculate_reading_time(). y para finalizar guardo la variable con el valor del tiempo.


function save_reading_time_meta($post_id){

    if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){
        return;
    }

    if(get_post_type($post_id) != 'post'){
        return;
    }

    $reading_time = calculate_reading_time($post_id);

    update_post_meta($post_id, '_reading_time', $reading_time);
}
add_action('save_post', 'save_reading_time_meta');

Paso 4: Añadir la funcion para presentar la Lectura

Nuestra proxima funcion sera la que estara encargada de mostrar el tiempo en el extracto. Esta funcion llama a get_post_meta() para acceder a la variable que guarda el timepo y luego la asigna a otra que predefinimos vacia, y la cual retornaremos ya con el contenido que vamos a mostrar.


function display_rt_in_excerpt()
    
    global $post; $rt = '';
    $reading_time = get_post_meta($post->ID, '_reading_time', true);
    
    if($reading_time){        
       $rt .= '<span>' . $reading_time . ' Minutos de Lectura</span>';
    }

    echo $rt;
    return $rt;
}

A continuación, añadimos esta funcion en el extracto, justo donde deseemos.

<?php display_rt_in_excerpt(); ?>

Paso 5: Mostrar el Extracto

Cada vez que navegues por las paginas en donde el extracto aparesca, podras ver el tiempo de lectura del articulo y asi sabras cuanto tardarias en leerlo. Aqui esta el resultado.

tiempo de lectura en el extracto.

Finalizacion

Con este pequeño tutorial, hemos aprendido como agregarle el tiempo de lectura a un articulo en WordPress. Esta es una característica útil que puede incrementar el compromiso de tus lectores.

Ahora puedes calcular y mostrar el tiempo de lectura tanto en el contenido completo como en los extractos de tus publicaciones. ¡Dale a tus usuarios una experiencia más informada y amigable con esta sencilla mejora!

Continue Reading...