Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo mostrar las publicaciones de la semana pasada en WordPress

Muchos de nuestros lectores principiantes pronto comienzan a modificar sus temas de WordPress, por eso tenemos una hoja de trucos de temas de WordPress para ayudarles a empezar. Esto presenta algunos desafíos interesantes para los nuevos usuarios. Uno de esos lectores, recientemente nos preguntó cómo mostrar las publicaciones de la semana pasada en WordPress. Simplemente querían agregar una sección en su página de inicio que mostrara las publicaciones de la semana anterior. En este artículo, le mostraremos cómo mostrar las publicaciones de la semana pasada en WordPress.

Antes de mostrarle cómo mostrar las publicaciones de la semana anterior, primero veamos cómo puede mostrar las publicaciones de la semana actual usando WP_Query. Copie y pegue el siguiente código en el archivo functions.php de su tema o en un plugin específico del sitio.

function wpb_this_week() { 
$week = date('W');
$year = date('Y');
$the_query = new WP_Query( 'year=' . $year . '&w=' . $week );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;
}

En el código de ejemplo anterior, primero descubrimos la semana y el año actuales. Luego usamos esos valores en WP_Query para mostrar las publicaciones de la semana actual. Ahora todo lo que necesita hacer es agregar <?php wpb_this_week(); ?> en el archivo de su tema donde desea mostrar las publicaciones.

Esto fue simple, ¿verdad? Ahora, para mostrar las publicaciones de la semana pasada, todo lo que necesitas hacer es restar 1 al valor de la semana. Pero si esta es la primera semana del año, obtendrás 0 para la semana y el año actual en lugar del año pasado. Aquí te mostramos cómo solucionar ese problema.

function wpb_last_week_posts() { 
$thisweek = date('W');
if ($thisweek != 1) :
$lastweek = $thisweek - 1;   
else : 
$lastweek = 52;
endif; 
$year = date('Y');
if ($lastweek != 52) :
$year = date('Y');
else: 
$year = date('Y') -1; 
endif;
$the_query = new WP_Query( 'year=' . $year . '&w=' . $lastweek );
if ( $the_query->have_posts() ) : 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>
	<?php the_excerpt(); ?>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else:  ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif;

}

En el código de ejemplo anterior, hemos colocado dos verificaciones. La primera verificación establece el valor de la semana pasada en 52 (que es la última semana del año) cuando el valor de la semana actual es 1. La segunda verificación establece el valor del año en el año pasado cuando el valor de la semana pasada es 52.

Para mostrar las publicaciones de la semana pasada, todo lo que necesitas hacer es agregar <?php wpb_last_week_posts(); ?> al archivo de plantilla de tu tema donde quieras mostrarlas. O si deseas tener un shortcode para poder agregarlo a una página o un widget, simplemente agrega esta línea debajo del código proporcionado anteriormente.

add_shortcode('lastweek', 'wpb_last_week_posts');

Ahora puedes usar este shortcode en una publicación, página o widget de la siguiente manera:

[lastweek]

Ten en cuenta que no siempre necesitas WP_Query para crear consultas personalizadas. WordPress viene con varias funciones para ayudarte a mostrar publicaciones recientes, archivos, comentarios, etc. Si hay una forma más fácil de usar las funciones existentes, entonces realmente no necesitas escribir tus propias consultas.

Esperamos que este artículo te haya ayudado a mostrar las publicaciones de la semana pasada en WordPress. Experimenta con el código y modifícalo para que se ajuste a tus necesidades. Déjanos saber si tienes alguna pregunta dejando un comentario abajo o únete a nosotros en Twitter.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

8 CommentsLeave a Reply

  1. Tengo curiosidad sobre cuándo/por qué querría mostrar las publicaciones de la semana? En mi página de inicio, muestro extractos, por lo que las publicaciones de mis últimas 2 semanas aproximadamente son visibles. ¿Qué me estoy perdiendo aquí? ¡Gracias!

    • No es necesario. Pero algunos otros propietarios de sitios web pueden tener un diseño en el que quieran mostrar las publicaciones de la semana anterior por separado. Este tutorial está dirigido a ayudar a esos usuarios.

      Administrador

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.