Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo excluir entradas fijas del bucle en WordPress

¿Quieres excluir una entrada fija del bucle en WordPress? Estás en el lugar adecuado.

Las entradas fijas son una buena forma de destacar tus contenidos destacados. Sin embargo, en nuestra opinión, hay ciertos lugares en tu sitio web donde no necesitas entradas fijas para estar en la parte superior.

En este artículo, le mostraremos cómo excluir completamente las entradas fijas del bucle en WordPress.

How to exclude sticky posts from the loop in WordPress

¿Por qué hay que excluir del bucle las entradas fijas?

La eliminación de entradas fijas de un bucle de su sitio web WordPress puede ser útil si no desea mostrarlas en un área determinada de su sitio web WordPress.

Las entradas fijas son útiles para destacar contenido importante, como tus artículos principales, entradas de blog con mucho tráfico y contenido sensible al tiempo. Sin embargo, pueden saturar el widget de entradas más recientes y dificultar el acceso a los contenidos más recientes.

Aquí es donde resulta útil excluir entradas fijas del bucle. WordPress no puede adivinar esto, por lo que necesita decirle explícitamente a WordPress que excluya entradas de blog fijas de un bucle personalizado.

Veamos cómo eliminar entradas fijas del bucle en WordPress.

Excluir entradas fijas del bucle en WordPress

Para ayudarle a excluir una entrada fija de la parte superior del bucle o a quitarla completamente del bucle, hemos creado un fragmento de código personalizado.

Dado que esto requiere la edición de código en su sitio web, puede ser complicado para los principiantes. Si no lo has hecho antes, te recomendamos que consultes nuestra guía sobre cómo pegar fragmentos de código de Internet en WordPress para obtener más información.

También puedes plantearte contratar a un desarrollador para que te ayude individualmente.

Cómo ignorar entradas fijas en WordPress

Este código ignora que una entrada es fija y muestra las entradas en el orden normal en su blog de WordPress.

Utilizando este código, tus entradas fijas seguirán apareciendo en el bucle, pero no se colocarán en la parte superior.

Todo lo que tienes que hacer es introducir el siguiente código en el archivo functions.php de tu tema o en un plugin de fragmentos de código:

<?php
 
// The loop arguments
$args = array(
    'posts_per_page' => 10,
    'ignore_sticky_posts' => 1 
);
 
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
    while ($the_query->have_posts()) {
        $the_query->the_post();
 
            }
}

Recomendamos añadir este código con WPCode, el mejor plugin de fragmentos de código para WordPress. Con WPCode, puedes añadir código personalizado en WordPress de forma segura y sencilla, sin necesidad de editar el archivo functions.php de tu tema.

Para empezar, necesitas instalar y activar el plugin gratuito WPCode. Si necesitas ayuda, consulta este tutorial sobre cómo instalar un plugin de WordPress.

Una vez activado el plugin, diríjase a la página Fragmentos de código ” + Añadir fragmento desde su escritorio de WordPress.

Desde allí, busque la opción “Añadir su código personalizado (nuevo fragmento)” y haga clic en el botón “Usar fragmento” situado debajo.

Add new snippet

A continuación, puede añadir un título a su fragmento de código, que puede ser cualquier cosa que le ayude a recordar para qué sirve el código.

A continuación, pegue el código anterior en el cuadro “Vista previa del código” y seleccione “Fragmento de código PHP” como tipo de código en la lista desplegable de la derecha.

Paste code snippet into Code Preview box and choose code type

Después, basta con cambiar el conmutador de “Inactivo” a “Activo” y hacer clic en el botón “Guardar fragmento de código”.

Activate and save snippet in WPCode

Excluir completamente del bucle las entradas fijas

A continuación, si está utilizando entradas fijas en un plugin deslizante, entonces a veces es posible que desee excluir por completo sus entradas fijas del bucle.

Simplemente añada el siguiente fragmento de código a su archivo functions.php o en un plugin de fragmentos de código:

<?php
 
// The loop arguments
$args = array(
    'posts_per_page' => 10,
    'post__not_in' => get_option( 'sticky_posts' ) // do not display the sticky posts at all.
);
 
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
    while ($the_query->have_posts()) {
        $the_query->the_post();
 
         }
}

Este código no mostrará entradas fijas en el bucle de entradas.

Puedes seguir los mismos pasos que arriba para añadir este código usando el plugin WPCode.

Para más consejos sobre cómo modificar temas de WordPress, marque / compruebe nuestra Hoja de trucos sobre temas de WordPress para principiantes.

Esperamos que este artículo te haya ayudado a aprender cómo excluir entradas fijas del bucle en WordPress. Puede que también quieras ver nuestra guía sobre cómo mostrar u ocultar widgets en páginas específicas de WordPress y nuestra selección de los mejores plugins de entradas relacionadas para WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

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

Reader Interactions

12 comentariosDeja una respuesta

  1. ogunrinde fatai

    I am having similar issue with the broken pagination when removing the sticky post, does anyone has a fix thanks

  2. Sam

    Your code just causes my links to break and i’m not sure why

  3. Stephen

    I am having a problem that the one “sticky” post shows up as the first “featured” post so there is the same article listed twice in succession. Any help would be great.

  4. Kyle Shevlin

    Don’t know if this happened for anyone else, but using this broke the pagination. My next page of posts would be a repeat of the first page. If this happened to anyone else, do you have a fix?

    • Umut Kay

      Hi,

      i have the same issue, do you found any workaround or another solution?

      • Super Nguyen

        I have the same problem, my navigation on homepage not working

  5. Agus Almaula

    Thank you so much, just because i am totally wpBeginner i came to this site and my WP development solved.

    ~agus~

  6. Rut

    Where do I paste this peace of code? I constantly get errors…

  7. Daniel Lemes

    Both methods broke my pagination (page links still there, but load always the same posts), any idea on it?

  8. Rohit Tripathi

    This is really great. One place where you don’t need this is when creating a custom sidebar widget to display recent posts.

    Thanks.

  9. Kyle Shevlin

    Is there any reason that adding this would remove the functionality of archives and tag cloud links? I, too, am trying to exclude sticky posts from my main blog loop using one loop to operate a featured section and a second to operate everything else. The trouble I’m having comes when I click on links in an archive section or tag cloud. It redirects me back to my first page again. When I remove this exclusionary code, it works just fine. Can’t figure this one out.

  10. chris mccoy

    you can also use pre_get_posts so you dont have to alter your main loop.

    $query->set(‘post__not_in’, get_option(‘sticky_posts’));

Deja tu comentario

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