Cuando ayudamos a los usuarios a configurar sus blogs de WordPress, a menudo nos preguntan sobre la personalización del diseño, especialmente cómo hacer que la última publicación destaque realmente.
A veces, no quieres que esa publicación más reciente simplemente se mezcle con el resto del feed del blog. Es posible que tengas un diseño especial en mente o que necesites que aparezca en una ubicación diferente por completo.
Ahí es donde entra la exclusión de la última publicación del bucle de publicaciones de WordPress. Esto te da la flexibilidad de mostrar ese contenido reciente como quieras. En esta guía, te mostraremos dos formas de excluir la última publicación del bucle de publicaciones de WordPress.

¿Por qué excluir la última publicación del bucle de publicaciones de WordPress?
Por defecto, WordPress muestra tus publicaciones de blog a los visitantes en orden cronológico inverso, por lo que las publicaciones más nuevas aparecen primero. Sin embargo, es posible que desees cambiar cómo se ve la última publicación en tu página de inicio personalizada o página de archivo de WordPress.
Al excluir la última publicación del bucle de publicaciones de WordPress, puedes mostrar ese contenido en una ubicación diferente e incluso agregar tu propio estilo personalizado.
Dicho esto, veamos cómo puedes ocultar la última publicación del blog excluyéndola del bucle de publicaciones de WordPress. Simplemente usa los enlaces rápidos a continuación para saltar directamente al método que deseas usar:
- Método 1: Usando el plugin WPCode (Recomendado)
- Método 2: Editando archivos del tema de WordPress (No se requiere plugin)
- Aprende más consejos y trucos para administrar tus publicaciones de WordPress
Método 1: Usando el plugin WPCode (Recomendado)
La forma más fácil de excluir la última publicación del bucle de publicaciones es agregando código a tu sitio web de WordPress.
Algunas guías te dirán que edites los archivos del tema manualmente, pero esto puede causar errores comunes de WordPress e incluso puede romper completamente tu sitio web.
Por esa razón, recomendamos usar WPCode. Es el mejor plugin de fragmentos de código que facilita la adición de código personalizado en WordPress sin poner en riesgo tu sitio.
Primero, necesitarás instalar y activar el plugin gratuito WPCode. Para más información, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Una vez que el plugin esté activado, ve a Fragmentos de código » + Agregar fragmento.

Aquí, verás todos los fragmentos prefabricados que puedes agregar a tu sitio. Estos incluyen un fragmento que te permite deshabilitar completamente los comentarios, subir tipos de archivo que WordPress normalmente no admite, deshabilitar páginas de adjuntos, y mucho más.
Ahora puedes pasar el mouse sobre la opción 'Agregar tu código personalizado (Nuevo fragmento)' y hacer clic en el botón '+ Agregar fragmento personalizado' cuando aparezca.

A continuación, elige 'Fragmento de PHP' como tipo de código de la lista de opciones que se muestran en la pantalla.

En la siguiente página, escribe un título para el fragmento de código. Esto es solo para tu referencia, así que puedes usar lo que quieras.

Hecho eso, simplemente pega lo siguiente en el cuadro 'Vista previa del código':
<?php
function wpsites_exclude_latest_post( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'offset', '1' );
}
}
add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );
Después de eso, desplázate hacia abajo en la página hasta la sección 'Inserción'.
Si no está seleccionado, elige 'Inserción automática' y 'Ejecutar en todas partes'.

Finalmente, desplázate hasta la parte superior de la pantalla y haz clic en el control deslizante 'Inactivo' para que muestre 'Activo'.
Luego, simplemente haz clic en el botón ‘Guardar fragmento’ o ‘Actualizar’ para que el fragmento de código esté activo.

Ahora, si visitas tu sitio web de WordPress, entonces la última entrada del blog estará oculta.
Método 2: Editando archivos del tema de WordPress (No se requiere plugin)
Notas: Este tutorial solo funcionará con temas de WordPress clásicos, ya que los temas de bloques tienen un conjunto diferente de archivos de tema. Si usas un tema de bloques, te sugerimos usar el primer método.
También te recomendamos hacer una copia de seguridad de tu sitio web primero y/o usar un entorno de staging para prevenir errores al seguir este método.
Otra forma de excluir la última publicación del bucle de publicaciones de WordPress es agregando código a los archivos de tu tema de WordPress.
Esto logra un resultado similar al código anterior, pero necesitarás agregarlo directamente al bucle de WordPress donde quieras que se muestre.
Por ejemplo, si deseas cambiar el bucle de publicaciones en todo tu sitio web, deberás agregar el código a tu archivo index.php.
Solo ten en cuenta que agregar código directamente a tus archivos de WordPress puede causar problemas con la paginación en tu blog de WordPress.
Primero, necesitas abrir el administrador de archivos de tu proveedor de hosting de WordPress o conectar tu sitio web con un cliente FTP.
Para este tutorial, usaremos el administrador de archivos de Bluehost, ya que el proceso es mucho más fácil que usar un FTP. Dicho esto, los pasos son más o menos los mismos, independientemente de si usas un FTP o un host web diferente.
Si eres usuario de Bluehost, inicia sesión en el panel de control de tu cuenta de hosting y navega a la pestaña 'Websites'. Luego, haz clic en 'Settings' en el sitio web que deseas editar.

Ahora, ve a la sección Quick Links.
Luego, haz clic en el botón 'File Manager'. Bluehost también te muestra el directorio raíz de tu sitio web si lo necesitas.

Una vez que estés dentro del administrador de archivos, necesitas localizar el archivo que deseas editar. Digamos que quieres agregar el código a index.php, entonces lo encontrarás en la carpeta de tu tema actual, que está dentro de public_html/wp-content.
Una vez allí, simplemente haz clic derecho en el archivo index.php y selecciona 'Editar'.

Ahora, necesitarás copiar el siguiente código y agregarlo a tu bucle de WordPress:
query_posts('posts_per_page=6&offset=1');
Este código le dice al bucle que solo muestre 5 publicaciones después de la publicación más reciente.
Necesitarás agregar el código directamente encima de tu bucle de WordPress para que se vea similar al fragmento de código a continuación:
<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {
// Load posts loop.
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
}
// Previous/next page navigation.
twenty_twenty_one_the_posts_navigation();
} else {
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content/content-none' );
}
Así es como se ve nuestro código en el administrador de archivos de Bluehost:

Una vez que hayas agregado el código, simplemente haz clic en el botón 'Guardar Cambios'.
Luego, procede a previsualizar tu sitio web de WordPress.
Aprende más consejos y trucos para administrar tus publicaciones de WordPress
¿Quieres optimizar aún más tu blog de WordPress? Consulta estas guías:
- Cómo redirigir usuarios a una publicación aleatoria en WordPress
- Cómo mostrar publicaciones relacionadas en WordPress (paso a paso)
- Cómo reordenar fácilmente publicaciones en WordPress (paso a paso)
- Cómo cambiar el número de publicaciones que se muestran en la página de tu blog de WordPress
- Cómo mostrar cualquier número de publicaciones en un bucle de WordPress
- Cómo mover publicaciones en bloque a categorías y etiquetas en WordPress
Esperamos que este artículo te haya ayudado a aprender cómo excluir la última publicación del bucle de WordPress. También te puede interesar nuestra guía sobre cómo agregar publicaciones y páginas en masa en WordPress y nuestras selecciones expertas de los mejores plugins de publicaciones relacionadas para WordPress.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


George
Este fragmento de código ha ayudado a resolver el 90% de un problema en mi blog.
Soporte de WPBeginner
Glad to hear our code was able to help
Administrador
ghazali
¿Hay alguna manera de eliminar solo las 3 publicaciones destacadas principales de la página de inicio?
ivan logan
¿Cómo eliminar todas las publicaciones sin imágenes destacadas (miniaturas)? ¡Tengo 9000 para eliminar!
Praveen
Gracias, buen trabajo, buena solución
Matt
¡Publicación de belleza! Simple, claro y MUY útil. ¡Saludos!
Dimarj
BGH_
¡Hola a todos, gracias por este artículo! Quiero implementarlo, pero cada vez que lo intento, tengo un problema extraño: las entradas se verían exactamente como la página principal, mostrando una lista de publicaciones recientes en lugar de la publicación en sí. Mi código es ligeramente diferente, ya que es un SMTheme. Cualquier ayuda será muy apreciada. PD: Disculpen por publicar dos veces, pero el código se imprimió mal. Aquí está:
espacio
La solución funciona bien, gracias. Pero la paginación se rompió después de aplicar este código. Lo he intentado pero no he podido hacer que funcione con la paginación correcta. ¿Alguna solución para la paginación?
Rickie Anand
aplica una clase al li según el número de página y un contador & dale estilo a p1c1 como display:none;
Sabi Maharjan
He usado dos plugins. Uno es “Recent facebook post” para mostrar las publicaciones recientes en WordPress y “Facebook publish page” para publicar mis publicaciones de WordPress en Facebook. Ahora quiero excluir las publicaciones recientes de Facebook que ya se publicaron desde mis publicaciones de WordPress.
¿Cómo puedo hacerlo?
Soporte de WPBeginner
Para eso, tu plugin que publica contenido de tu página de Facebook debería tener una verificación para ver si una publicación ya se publicó desde WordPress a Facebook. No recomendamos a los usuarios que editen directamente los archivos del plugin. Sin embargo, si te sientes cómodo editando archivos php, puedes bifurcar el plugin como un nuevo plugin y luego agregar el código para lograr esto.
Administrador
Pastor Wynn
Gracias por el gran consejo. Pasé horas tratando de entender esto, ¡y lo hiciste tan simple!
Gu-ens
Muchas gracias.
la opción ‘post__not_in’ no funciona en wordpress 3.5
Jim
Mmm, cuando intenté este código en un bucle de página de categoría, no pudo mantener las publicaciones solo para esa categoría, sino que actuó como si fuera el bucle de la página principal y mostró todas las publicaciones.
Amin
¡Muchas gracias, amigo! ¡Esto ayudó mucho!
¡Saludos!
Fernando
¡Muchas gracias!! ¡¡muy útil consejo!
GangeshMatta
¡Gracias!
PabloCovarrubias
hola, solo tengo una pregunta, cuando hago esto, la paginación ya no funciona, ¿cómo puedo arreglar esto?
¡gracias, aparte de eso, funciona perfectamente!
¡saludos!
espacio
Yes, pagination not working. you have found any working solution for pagination, I am still searching ..
Kev Bowman
¿Alguna vez encontraste una solución para esto?
de hams
la paginación no funciona en la página de índice, así que podemos hacer nuestra propia llamada de paginación ajax y la mayoría de las veces query_posts() funciona para la paginación en lugar de WP_Query()
Jon
¡Muchas gracias por esto! No podía entenderlo en absoluto, pero esto funcionó perfectamente.
Wordpwess
¿Hay alguna forma de omitir una publicación de una categoría?
Por ejemplo, quiero mostrar todas las publicaciones excepto la última publicación de la categoría x
Personal editorial
Sí, puedes seleccionar el parámetro category_in y agregar el ID de tu categoría.
Administrador
Luka
Thanks mate, you save my day
Khurram
“query_posts(‘posts_per_page=6&offset=1’);” this is not worked for me , while i am using the WP-PageNavi plugin for page navigation.
Personal editorial
¿Qué error estás recibiendo?
Administrador
Ken
Thanks for the info. Worked well
Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?
La cosa es que tengo un blog que publica podcasts. La página principal destaca el podcast más reciente – las entradas se publican bajo la categoría: Podcast – a través de su propio estilo. Al mismo tiempo, la página principal también muestra las últimas 5 entradas más recientes, de las cuales pueden incluir entradas bajo la categoría “podcast”. Simplemente no quiero mostrar en el bucle la entrada más reciente publicada bajo “Podcast” simplemente porque ya está destacada con su propio estilo. Espero que puedas ayudarme. ¡Gracias!
Personal editorial
Puedes excluir todas las entradas de la categoría “podcast” de tu bucle si quieres. Pero no hay una forma sencilla de excluir solo la última entrada.
Administrador
Joffrey
¡Gracias por el consejo!
Pero me preguntaba si también hay una forma de excluir la publicación que se muestra actualmente en pantalla.
Si es así, ¿puedes decirme cómo hacerlo?
¡Gracias de antemano!
Personal editorial
¿No entiendo bien tu pregunta? ¿Qué pantalla?
Administrador
Joffrey
Una de mis páginas muestra primero la entrada más reciente o actual que el usuario está viendo.
La entrada actual es llamada por el bucle.
Debajo de esta entrada quiero mostrar los extractos de otras entradas anteriores sin mostrar la entrada actual en esta lista.
Los extractos de entradas anteriores se llaman con query_posts:
query(‘showposts=3&cat=5’);
while($previousPosts->have_posts()) : $previousPosts->the_post();
?>
Como puedes ver, llamo 3 publicaciones (extractos) de la categoría 5, lo que muestra tres publicaciones de la categoría Noticias. Esto parece estar bien, pero dentro de estos 3 extractos de publicaciones, la publicación actual que se llama en el bucle también está en esta lista.
¿Sabes alguna forma de excluir la publicación actual dentro de esta lista?
¡Gracias de nuevo!
Personal editorial
Puedes agregar offset=1 en la consulta para omitir la primera entrada.
Joffrey
¡Gracias de nuevo por la pronta respuesta!
Sin embargo, intenté el offset=1 en la consulta, lo único es que cuando presionas una publicación anterior, ves la publicación anterior en el bucle principal, dentro de los extractos de la lista se excluye la publicación más reciente, pero la publicación anterior que ahora es la publicación actual todavía está en la lista de extractos.
¿Alguna idea de cómo excluir no la más reciente, sino la actual?
Thanks so far already
Personal editorial
Envíanos el enlace en vivo del sitio por correo electrónico, para que podamos ver exactamente qué está pasando. Usa el formulario de contacto para enviar el correo electrónico.
Bilal Ahmed
Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‘posts_per_page=6&offset=1’);) by query_posts(‘posts_per_page=6&offset=3’); and its done
Jeremy
¿Dónde exactamente pones este código para eliminar todas las publicaciones excepto la destacada en la página principal?
Gracias,
Personal editorial
Ese es un proceso de varios pasos. Primero, necesitarías tener una plantilla de página personalizada. Segundo, necesitarías crear esa página personalizada, tu página principal. Luego, ejecutarías una consulta en esa plantilla personalizada que muestre solo las publicaciones fijadas.
Administrador
dominik
¡Gracias, era exactamente lo que estaba buscando! Gracias por cualquier otra pista.
Copia de la mañana
Gracias por esto. Buena solución para diseños estilo revista.