Mostrar Lista de Entradas de Semana Pasada en WordPress

Mostrar Lista de Entradas de Semana Pasada en WordPress

En la mayoría de los sitio web que utilizan WordPress como plataforma de publicación y blogging, es muy importante mostrar una lista limitada de sus últimos artículos, sobre todo cuando los artículos son una serie de artículos relacionados. Hoy te mostraremos cómo mostrar lista de entradas de la semana vigente, y también de la semana pasada en WordPress.

Lista de Entradas

WordPress  incuye un Widget predeterminado, que viene con el paquete de instalación, que te permite mostrar las entradas “recientes” de tu sitio web, que listra un determinado número que especificas tú mismo, de las últimas publicaciones.

El Widget de Entradas recientes funciona bien, si es lo que quieres es simplemente mostrar lo más reciente publicado en tu sitio web. El inconveniente con ello es poco personalizable, y no te permite incluirlo en una página mediante un Shortcode.

Lista de Entradas de Semana Actual

Por tanto, te vamos a enseñar cómo crear la lista de entradas de esta semana, que personalizamos a nuestro gusto y preferencias, usando la famosa clase WP_Query que es una parte fundamental de cualquier sitio WordPress.

function list_entradas_semana_actual() { 
    $semana = date('W');
    $ano = date('Y');
    $consulta = new WP_Query( 'year=' . $ano . '&w=' . $semana );
    if ( $consulta->have_posts() ) : 
        while ( $consulta->have_posts() ) : $consulta->the_post(); ?>
            
<h2><a href="<?php the_permalink(); ?>" title="Enlace permanente a <?php the_title(); ?> "><?php the_title(); ?></a></h2>

            <?php the_excerpt(); ?>
        <?php endwhile; ?>
        <?php wp_reset_postdata(); ?>
    <?php else: ?>
        

<?php _e( 'Lo sentimos, no hay entradas.' ); ?>

    <?php endif;
}

Para utilizar este código, primero debes tener acceso a los archivos de tu instalación mediante un protocol de transferencia de archivos FTP. como Filezilla para copiar y pegar el código de arriba en el archivo functions.php del tema activo actual.

Lo que hacemos en el código es lo siguiente, primero establecemos la fecha actual del año y la semana, que es la información que determina el punto de partida para obtener la lista de entradas de la semana corriente desde la base de datos.

Después, hacemos un loop normal de todas las entradas publicadas en la semana, para imprimir el título y un extracto del contenido, en caso de existir, de lo contrario, imprimir un mensaje de que nada se ha encontrada para esta  semana.

Lista de Entradas de Semana Pasada

Ahora pasamos a ver cómo realizar lo mismo con los articulos de la semana pasada publicados en tu sitio web. El concepto es el mismo, sólo con algunas modificaciones y condiciones extra.

function lista_entradas_semana_anterior() { 
    $semana_actual = date('W');
    if ($semana_actual != 1) {
        $semana_pasada = $semana_actual - 1; 
    } else {
        $semana_pasada = 52;
    }
    $ano = date('Y');
    if ($semana_pasada != 52) {
        $ano = date('Y');
    } else {
        $ano = date('Y') -1;
    }

    $consulta = new WP_Query( 'year=' . $ano . '&w=' . $semana_pasada );
    if ( $consulta->have_posts() ) :
    while ( $consulta->have_posts() ) : $consulta->the_post(); ?>
        

<h2><a href="<?php the_permalink(); ?>" title="Enlace permanente a <?php the_title(); ?> "><?php the_title(); ?></a></h2>


        <?php the_excerpt(); ?>
      <?php endwhile; ?>
      <?php wp_reset_postdata(); ?>
    <?php else: ?>
      

<?php _e( 'Lo sentimos, no hay entradas.' ); ?>

    <?php endif;

}

El pequeño detalle que podría causar un problema en este caso, es en los fines de año, cuando empiezas un nuevo año y la semana es considerada la primera, entonces para que el código funcione necesite de un poco de trabajo.

Creamos dos bloques condicionales, el primero establece el valor de la semana pasada, si es principio de año, y la segunda condición fija el año, casi de la misma forma.

Esto es todo, lo único que falta ahora es insertar la lista de entradas de la semana anterior a la actual. Muy sencillo, copias y pegas el nombre del función en cualquier entorno PHP.

lista_entradas_semana_anterior();

Si prefieres un Shortcode, no hay ningún problema, en la parte inferior del código de la función, añades la siguiente línea y ya. Lo único que falta es copiar y pegar el siguiente código corto en una página o entrada, o también insertar el Shotcode en un Widget de forma muy sencilla.

Esperamos que este artículo te ayude para ofrecer la lista de entradas de la semana anterior en tu sitio web. Te invitamos a compartir este artículo, si te reculta útil, y seguirnos en Facebook y Twitter para obtener últimos tutoriales sobre seguridad y optimización de WordPress.

DEJAR COMENTARIO

Favor escribir tu comentario!
Favor ingresar tu nombre aquí