• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

Noticias WordPress

Noticias WordPress, ayuda, themes, plugins, código, tips, Funciones, CSS, snippets, temas, hosting y mucho más.

  • Cursos WordPress

Excluir categorías en la página de inicio en WordPress

octubre 24, 2011

Con la siguiente función vamos a ver de que manera podemos excluir una o varias categorías de nuestra página de inicio en una instalación de WordPress.

Vamos a crear un ejemplo que podría suceder con un proyecto real. Estamos desarrollando un sitio web para un cliente y este necesita tener dos secciones de noticias, una principal que aparece en portada y otra para publicar noticias de cierto tipo, pero separadas de portada. Es solo un caso de ejemplo y puede haber muchas variantes, pero con la siguiente función podríamos solucionar el problema.

Por omisión WordPress publica todas las noticias en portada o en la hoja inicial de nuestro sitio y para excluir una o varias categorías podemos utilizar el siguiente código en nuestro archivo functions.php.

Como primer y único paso abrimos nuestro archivo functions.php y pegamos el siguiente código.

[php]
function excludeCat($query) {
if ( $query->is_home ) {
$query->set(‘cat’, ‘-8,-12’);
}
return $query;
}
add_filter(‘pre_get_posts’, ‘excludeCat’);
[/php]

En el código se están señalando las categorías numero «ocho» y «doce» para ser excluidas de nuestra página de inicio en WordPress y puedes tener solamente una o agregar todas las que quieras.

Si por ejemplo anulamos la categoría «eventos» de portada, podríamos tener en el menú un enlace que lleve directamente a esa categoría, en donde solo mostrará noticias de eventos, sin embargo, no serán mostradas en portada.

¿Tiene sentido?

Si no sabes como utilizar o en donde se encuentra tu archivo functions.php de tu tema para WordPress, aquí lo explico más a detalle.

Con este sencillo código podemos excluir una o varias categorías de la pagina inicial y esto no significa que esas publicaciones desaparezcan o sean borradas, lo único que sucede es que se ocultan de portada, pero siguen siendo accesibles desde la categoría como tal o por ejemplo desde el buscador.

Hay varias formas de hacer esto, por ejemplo yo en uno de mis proyectos, utilizo dos archivos single.php y uno de ellos, esta desarrollado exclusivamente para una categoría. Con esto se puede tener completamente dos formatos distintos para un tipo de noticias, con diferente contenido, otras opciones y completamente diferentes a todas las demás.

Creo que es una función muy sencilla que puede ser de mucha utilidad, la cual espero que puedan aprovechar para alguno de sus proyectos.

Archivado en:Código, Funciones, Themes

Interacciones con los lectores

Comentarios

  1. Miguel dice

    noviembre 14, 2011 en 10:28 am

    Acabo de utilizarlo para excluir una categoría de noticias en mi blog. Funciona fenomenal, y muy fácil de insertar.
    Grcias por compartirlo.

    • Peter Olle dice

      noviembre 25, 2011 en 12:03 pm

      Que bueno que te ayudó Miguel.

      Saludos.

  2. Luis M. dice

    noviembre 25, 2011 en 11:35 am

    Muy buen tutorial!
    lo he realizado en mi web y funciona muy bién.
    llevaba tiempo buscando algo así. esto me facilitará mucho las cosas en mis próximos proyectos.
    Gracias.

    • Peter Olle dice

      noviembre 25, 2011 en 12:03 pm

      Gracias Luis, me alegro que te haya funcionado.

      Saludos.

  3. Gerardo dice

    noviembre 27, 2011 en 4:05 pm

    Hola.
    Ahora a mi surge una ocurrencia, en realidad es necesidad que no he visto como solucionar.
    Lo que quiero hacer es excluir un usuario en la lista de usuarios, para que no sea visible y no se pueda modificar.
    Habrá forma de hacerlo?.
    Saludos !

    • Peter Olle dice

      noviembre 27, 2011 en 8:17 pm

      Puedes usar algo como este plugin. Así asignas los accesos que tiene cada quien y a que secciones.

      Saludos.

      • Gerardo dice

        diciembre 4, 2011 en 8:09 pm

        Ya lo probé y no es exactamente lo que busco. Ya que este plugin bloque el acceso pero a toda la sección de usuarios, y lo yo quiero es simplemente ocultar un único usuario en la lista de usuarios, ya sea con codigo css o php, pero no se cómo hacerlo, igual que quiero ocultar en el menú de la pagina el publico la opcion Registrate a los usuarios ya registrados osea a los que tienen iniciado sesión y no tengo mucha idea de como lograrlo. Gracias ! Saludos !

  4. Gerardo dice

    diciembre 4, 2011 en 8:16 pm

    Bueno lo de ocultar un usuario en la lista de usuarios ya lo logre, con css con un display:none a la id del usuario que quería ocultar. A lo mejor pueda una mejor opción, pero por el momento se ajusta a lo que quería.

    Ahora solo me queda lo de como ocultar en el Menú la opción Registrate a los que ya se registraron y tienen iniciado sesión. Espero una ayuda.. Gracias !!

    • Peter Olle dice

      diciembre 5, 2011 en 7:37 am

      Ese es otro tema, más tarde publico sobre ello.

      Saludos.

      • Gerardo dice

        diciembre 5, 2011 en 7:40 am

        ok te lo agradeceré !!

        • Peter Olle dice

          diciembre 5, 2011 en 7:46 am

          Aunque comentas que viene en tu menú, como depende mucho del theme que utilices, lo publicaré de forma natural, es decir, si tu pones el registro por ejemplo en la barra lateral, pero si viene integrado en tu Theme y directamente en el menú, puede que sea diferente.

          Si quieres ayuda exacta de como hacerlo en tu Theme, entra arriba al foro y ahí te ayudo para que salga exacto como quieres.

          Saludos.

          • Gerardo dice

            diciembre 5, 2011 en 8:08 am

            Muy bien, lo comentaré en el foro entonces dentro de unas horas, ya es de madrugada en México. 😀

  5. david chan dice

    abril 24, 2012 en 7:51 pm

    gracias por el codigo, me sirvio de maravilla esta batallando en como excluir una categorio. gracias.

    • Peter Olle dice

      abril 24, 2012 en 7:52 pm

      De nada, que bueno que te funcionó.

      Saludos.

  6. -José Antonio- dice

    octubre 18, 2012 en 10:49 pm

    Hola saludos mil.

    Antes de encontrar tu post utilizaba un código que si ocultaba algunas categorias pero me entorpeció la paginación.

    Me encontré tu post con el código que propones y decidé utilizarlo. Me funcionó ocultando las categorías que quería y la paginación no se afectó, pero me dí cuenta que el witget de entradas recientes no muestra los post ocultos.
    ¿hay algún remedio para ésto? es que en el witget ENTRADAS RECIENTES SI QUIERO QUE LOS MUESTRE. De antemano te agradezco.

    • Peter Olle dice

      octubre 19, 2012 en 9:21 am

      Si es la portada los esconde. No creo que tenga caso esconderlos en portada para mostrarlos en portada en un Widget, porque al final no los estas escondiendo. ¿Me explico?

      Depende de que es lo que quieras hacer y la razón de eso para ver si se puede hacer otra cosa.

      Saludos.

  7. dany dice

    noviembre 23, 2012 en 6:24 am

    excelente muy bien Gracias

  8. juan dice

    enero 29, 2013 en 8:05 pm

    Gracias, me ha servido y es muy simple, como a mi me gustan las cosas 😛

  9. Pepe dice

    febrero 17, 2013 en 3:46 pm

    Hola, luego de una ardua batalla por lograr, salí victorioso tras encontrar este articulo. Muchas gracias de por vida.

  10. Sandra dice

    julio 22, 2013 en 9:01 pm

    y cómo puedo usar esta misma idea para ocultar una categoría del sidebar… (usando function.php)?

    Saludos

  11. alex dice

    enero 16, 2014 en 4:49 pm

    Maravilloso y rápido….llevo toda la mañana con ello hasta que te he encontrado. saludos

    • Peter Olle dice

      enero 16, 2014 en 6:02 pm

      Que bueno que te ayudó Alex!

  12. Agnieszka dice

    mayo 15, 2014 en 4:15 pm

    Me ha venido de perlas. justo lo que necesitaba! Mil gracias.

  13. Sebasweb dice

    julio 11, 2014 en 5:23 pm

    Gracias por tu post! muy bien comentado y fácil de implementar!
    Solo una sugerencia:
    Al poner el código en vez de poner el número de la categoría, yo ponia el NOMBRE de la categoría por lo cual, nunca me iba a funcionar… la recomendación es que puedes especificar que se tiene que poner el numero, porque en la redacción quedaría como que puedes poner el nombre y confunde…
    Para quienes no saben como saber el numero de su categoria, solo basta con poner el mouse en la categoria y en la parte inferior del explorador donde se ve el vinculo van a ver el numero despues de las letras ID … espero haberme hecho entender!

    Saludos y mil gracias de nuevo!!

    @sebasweb

  14. Charlie Martinez dice

    enero 5, 2015 en 9:51 pm

    Hola! Sabés, ando necesitando excluir todas las noticias de una determinada categoría del widget de noticias recientes. Es posible? Saludos !!!

  15. german gittar dice

    abril 30, 2015 en 2:34 am

    perfecto!! gracias me funcionó

  16. Juan Aurelio Pecino Chacón dice

    noviembre 15, 2016 en 1:12 pm

    Pues no se… no lo consigo.. vale en todos los themas?

    • Peter Olle dice

      noviembre 15, 2016 en 1:33 pm

      Si tu tema no modifica el comportamiento natural de WordPress si, entonces sería cosa de que le preguntes al desarrollador del mismo.

      Saludos.

  17. sebastián dice

    junio 1, 2017 en 10:37 pm

    hola buenísmo. Cómo me doy cuenta del número de la categoría?

    • Peter Olle dice

      junio 2, 2017 en 5:56 am

      En la administración si pones el mouse sobre una de ellas, te sale en la barra de estado. Al editarlas también te sale.

      Saludos.

Barra lateral primaria

Archivos

  • febrero 2021
  • enero 2021
  • diciembre 2020
  • julio 2019
  • abril 2019
  • mayo 2015
  • abril 2015
  • marzo 2015
  • febrero 2015
  • noviembre 2014
  • septiembre 2014
  • agosto 2014
  • julio 2014
  • mayo 2014
  • abril 2014
  • marzo 2014
  • septiembre 2013
  • agosto 2013
  • junio 2013
  • diciembre 2012
  • septiembre 2012
  • agosto 2012
  • mayo 2012
  • abril 2012
  • enero 2012
  • diciembre 2011
  • noviembre 2011
  • octubre 2011
  • agosto 2011
  • julio 2011
  • junio 2011
  • mayo 2011
  • abril 2011
  • marzo 2011
  • febrero 2011
  • enero 2011

Categorías

  • Administración
  • Beta
  • Breves
  • Código
  • Errores
  • Eventos
  • Funciones
  • Internet
  • Noticias
  • Plugins
  • Seguridad
  • SEO
  • Themes
  • WordPress