Introducción
En ocasiones, nos surge la necesidad de publicar un post (entrada o artículo), pero no nos interesa que aparezcan en la página principal o página de inicio (home) de nuestro sitio web con WordPress.
En esta entrada, mostraremos como conseguirlo haciendo uso de una función en PHP que incluiremos en el fichero functions.php de nuestro tema hijo.
Existen plugins que pueden hacer este trabajo, pero con una simple función lo tenemos conseguido.
Imaginemos una situación de ejemplo
Imaginemos que tenemos posts (entradas) del tipo página en construcción, un listado, una tabla, etc, que son necesarios para el funcionamiento de nuestro sitio web, pero no nos interesa que aparezcan en los widgets de Entradas recientes…
…o en el Carrusel de entradas.
¿Cómo conseguirlo?
Pues bien, para conseguirlo tendremos que realizar los siguientes pasos:
- Añadir dichas entradas (posts) a una Categoría específica, ya sea una Categoría creada por nosotros, ¿o por qué no?, añadirlas a la Categoría existente en WordPress, por defecto, denominada Sin categoría, valga la redundancia.
- Averiguar el tag_ID de la Categoría que queremos que no aparezca. Para averiguarlo, utilizaremos alguno de los dos métodos siguientes:
- En nuestro WordPress, vamos al apartado de configuración Entradas -> Categorías, localizamos la Categoría que nos interesa y situamos el puntero del ratón sobre ella. En la parte inferior del navegador web que estemos utilizando veremos el tag_ID que le corresponde.
Como se aprecia en la imagen el tag_ID es el número 1. - Si nuestro navegador web no es capaz de visualizar dicho número, entonces, hacemos clic sobre la Categoría que nos interese y veremos el tag_ID en la barra de direcciones.
Volvemos a ver en la imagen que el tag_ID es el número 1.
- En nuestro WordPress, vamos al apartado de configuración Entradas -> Categorías, localizamos la Categoría que nos interesa y situamos el puntero del ratón sobre ella. En la parte inferior del navegador web que estemos utilizando veremos el tag_ID que le corresponde.
- Inyectaremos el siguiente código al final del fichero functions.php antes del cierre ?>. El archivo functions.php está ubicado en el directorio raíz del tema que estemos utilizando (../../www.midominio.net/wp-content/themes/mitema-hijo/functions.php).
Os aconsejo que utilicéis un tema hijo para no perder los cambios en el fichero functions.php cuando se actualice el tema padre, y por supuesto, hacer copia de seguridad del archivo functions.php antes de realizar los cambios, por si surge algún error y tenemos que restaurar el fichero functions.php.
/*----------------------------------------------------------------------*/ /* Excluir categorías de la página de inicio */ /*----------------------------------------------------------------------*/ function excluye_categoria($consulta) { if ( $consulta->is_home() ) { $consulta->set('cat', '-1'); } return $consulta; } add_filter('pre_get_posts', 'excluye_categoria');
En el código anterior hemos excluido la categoría con tag_ID=1. Si queremos excluir más categorías, tendríamos que añadirlas en la línea siguiente:
... $consulta->set('cat', '-1 -39 -123'); ...
Nota: no olvidar poner el signo – delante del valor tag_ID para excluir la Categoría.
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Configuración de privacidad y de cookies.
Deja una respuesta