Muchos de nuestros lectores de nivel principiante pronto comienzan a modificar sus temas de WordPress por eso tenemos una hoja de trucos para el tema de WordPress para ayudarlos a comenzar. Esto trae algunos desafíos interesantes para los nuevos usuarios. Uno de estos lectores, recientemente nos preguntó cómo mostrar las publicaciones de la semana pasada en WordPress. Solo querían agregar una sección en su página de inicio que mostraba publicaciones de la semana anterior. En este artículo, le mostraremos cómo mostrar las publicaciones de la semana pasada en WordPress.

Antes de mostrarte cómo mostrar las publicaciones de la semana anterior, primero echemos un vistazo a cómo puedes 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 complemento específico del sitio.

función wpb_this_week () {
 $ week = date ('W');
 $ año = fecha ('Y');
 $ the_query = new WP_Query ('year ='. $ year. '& w ='. $ week);
 if ($ the_query-> have_posts ()):
 while ($ the_query-> have_posts ()): $ the_query-> the_post ();  ?> 

"title =" Enlace permanente a ">

En el código de ejemplo anterior, primero descubrimos la semana y el año actual. Luego usamos esos valores en WP_Query para mostrar las publicaciones de la semana actual. Ahora todo lo que tiene que hacer es agregar en su archivo de temas donde desea mostrar las publicaciones.

Esto fue simple, ¿no? Ahora, para mostrar las publicaciones de la semana pasada, todo lo que necesita hacer es menos 1 del valor de la semana. Pero si esta es la primera semana del año, obtendrá 0 para la semana y el año actual en lugar del año pasado. Así es como arreglas ese problema.

función wpb_last_week_posts () {
 $ thisweek = date ('W');
 if ($ thisweek! = 1):
 $ lastweek = $ thisweek - 1;
 else:
 $ lastweek = 52;
 terminara si;
 $ año = fecha ('Y');
 if ($ lastweek! = 52):
 $ año = fecha ('Y');
 más:
 $ año = fecha ('Y') -1;
 terminara si;
 $ the_query = new WP_Query ('year ='. $ year. '& w ='. $ lastweek);
 if ($ the_query-> have_posts ()):
 while ($ the_query-> have_posts ()): $ the_query-> the_post ();  ?> 

"title =" Enlace permanente a ">

En el código de ejemplo anterior, hemos colocado dos comprobaciones. El primer cheque establece el valor de la semana pasada en 52 (que es la última semana de un año) cuando el valor de la semana actual es 1. El segundo cheque establece el valor del año hasta el año pasado cuando el valor de la semana pasada es 52.

Para mostrar las publicaciones de la semana pasada, todo lo que necesita hacer es agregar al archivo de plantilla de su tema donde le gustaría mostrarlos. O si desea tener un código corto para poder agregarlo a una página o a un widget, simplemente agregue esta línea debajo del código indicado anteriormente.

add_shortcode ('lastweek', 'wpb_last_week_posts'); 

Ahora puede usar este shortcode en una publicación, página o un widget como este:

[la semana pasada]

Tenga en cuenta que no siempre necesita WP_Query para crear consultas personalizadas. WordPress viene con varias funciones para ayudarlo a mostrar publicaciones recientes, archivos, comentarios, etc. Si hay una manera más fácil de usar las funciones existentes, entonces realmente no necesita escribir sus 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 satisfacer tus necesidades. Háganos saber si tiene alguna pregunta dejando un comentario a continuación o únase a nosotros en Twitter.