¿Alguna vez has querido ocultar una entrada de blog de tu página de inicio de WordPress o de la página de archivo del blog?
Aunque puedes hacer que los mensajes de WordPress estén protegidos por una contraseña o sean privados, en algunos casos puede que simplemente quieras ocultar el mensaje de tu página de inicio y al mismo tiempo permitir que otros lo vean si tienen el enlace directo.
En este artículo, te mostraremos cómo ocultar los mensajes de las páginas seleccionadas en WordPress, como la página de inicio, los archivos de categorías, los resultados de las búsquedas y más.
Método 1. Esconder un post de WordPress de la página de inicio usando un plugin
Este método es más fácil y se recomienda para los principiantes.
Lo primero que tienes que hacer es instalar y activar el plugin de WordPress Hide Posts. Para obtener más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Una vez que el plugin se activa, adelante y edita el post que quieres ocultar. Notarás una nueva sección de «Ocultar Mensajes» en la columna derecha del editor.
Al hacer clic en él se revelarán las opciones de los plugins. Puedes ocultar la entrada en la página principal y en la página del blog, en las páginas de categorías o etiquetas, en la página de autores y en los resultados de búsqueda del sitio.
Simplemente selecciona las opciones que te gusten y luego guarda tu mensaje.
Dependiendo de las opciones que haya seleccionado, ahora puede visitar esas páginas y ese puesto en particular no aparecerá en la lista.
Todos los usuarios que tienen la URL de publicación directa (permalink) pueden seguir viéndola introduciendo la URL.
Aunque este método es el más fácil, carece de varias opciones poderosas.
Por ejemplo, no puedes ocultar una página o un tipo de mensaje personalizado como los productos de WooCommerce. Tampoco tiene la opción de ocultar un post del feed RSS de WordPress.
Método 2. Ocultar manualmente los mensajes y páginas de WordPress
Este método requiere que añadas código a tu sitio de WordPress. Si no lo has hecho antes, consulta nuestra guía sobre cómo copiar y pegar fragmentos de código en WordPress.
WordPress utiliza una consulta a la base de datos para obtener y mostrar los mensajes basados en la página que un usuario está viendo. También proporciona ganchos incorporados para modificar la consulta antes de ejecutarla.
Usaremos esos ganchos para modificar la consulta de WordPress y ocultar los mensajes, páginas y tipos de mensajes personalizados de WordPress en diferentes secciones.
Puedes añadir código personalizado usando el plugin de fragmentos de código que es más seguro y no rompe tu sitio. También puedes añadir el código personalizado al archivo functions.php de tu tema o a un plugin específico del sitio.
También necesitarás las identificaciones de los correos o páginas que quieras ocultar. Tenemos un rápido tutorial sobre cómo encontrar un ID de un post en WordPress que muestra cómo obtener esta información.
Básicamente, puedes editar un mensaje o página para ver su identificación en la barra de direcciones de tu navegador.
Dicho esto, vamos a sumergirnos en la parte del código.
Ocultar publicaciones o páginas de WordPress de la página de inicio
El siguiente código utiliza la etiqueta condicional is_home() para saber si el usuario está viendo la página de inicio. Si lo está, entonces excluye los ID de los mensajes de la consulta.
123456functionwpb_exclude_from_home($query) { if($query->is_home() ) { $query->set($0027post__not_in$0027, array(1737, 1718)); }}add_action($0027pre_get_posts$0027, $0027wpb_exclude_from_home$0027);
No olvides reemplazar los IDs dentro de la matriz con los IDs reales de los posts o páginas que quieras excluir.
Ocultar publicaciones o páginas de WordPress en el feed RSS
Si quieres ocultar una entrada de WordPress de la página de inicio así como el feed RSS de WordPress, entonces simplemente puedes usar la etiqueta condicional is_feed en el código.
123456functionwpb_exclude_from_feed($query) { if($query->is_feed() ) { $query->set($0027post__not_in$0027, array(1737, 1718)); }}add_action($0027pre_get_posts$0027, $0027wpb_exclude_from_feed$0027);
Ahora, si has iniciado sesión como administrador e intentaste visitar tu fuente RSS de WordPress, entonces seguirás viendo los mensajes que aparecen allí. Los demás usuarios no podrán ver las publicaciones excluidas cuando vean tu canal RSS.
Ocultar el mensaje o página de WordPress en la búsqueda del sitio
Ahora, ¿y si quisieras ocultar entradas específicas de la búsqueda del sitio de WordPress? Para hacerlo, simplemente tendrás que añadir la etiqueta condicional is_search al código.
123456functionwpb_exclude_from_search($query) { if( $query->is_search() ) { $query->set($0027post__not_in$0027, array(1737, 1718)); }}add_action($0027pre_get_posts$0027, $0027wpb_exclude_from_search$0027);
Ahora puedes visitar tu sitio web y buscar los mensajes que querías ocultar. Aunque estas publicaciones son públicas, no aparecerán en los resultados de la búsqueda.
Ocultar el post o la página de WordPress en los archivos
¿Qué tal si ocultamos publicaciones o páginas específicas de WordPress de las páginas de archivo como categoría, etiquetas y archivos de fechas? Para ello, usaremos la etiqueta condicional is_archive().
123456functionwpb_exclude_from_archives($query) { if( $query->is_archive() ) { $query->set($0027post__not_in$0027, array(1737, 1718)); }}add_action($0027pre_get_posts$0027, $0027wpb_exclude_from_archives$0027);
Escondiendo el post o la página de WordPress de todas partes
Hasta ahora hemos aprendido a ocultar un post o página de WordPress de áreas específicas. Ahora, ¿qué hay de ocultar completamente un post de WordPress de todas estas áreas a la vez?
Para ello, puedes combinar todas las etiquetas condicionales que hemos usado antes en un solo fragmento de código.
123456functionwpb_exclude_from_everywhere($query) { if( $query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive() ) { $query->set($0027post__not_in$0027, array(1737, 1718)); }}add_action($0027pre_get_posts$0027, $0027wpb_exclude_from_everywhere$0027);
Este código esconderá las publicaciones de la página de inicio, el feed RSS, los resultados de la búsqueda y las páginas de archivo.
Control de la visibilidad del contenido en WordPress
Puedes ocultar los mensajes o páginas de WordPress usando los dos métodos que describimos arriba. Respondamos a algunas de las preguntas más frecuentes sobre las opciones de control de visibilidad del contenido en WordPress.
¿Estos métodos esconden perfectamente el contenido?
No, no lo hacen.
Por ejemplo, es posible que los motores de búsqueda ya hayan rastreado e indexado la publicación antes de que pueda ocultarla. Si quieres evitar los motores de búsqueda, consulta nuestra guía sobre cómo ocultar una página de WordPress de Google.
Esto tampoco funcionará si un plugin de WordPress utiliza una consulta personalizada que se salte las comprobaciones y revele el contenido que intentas ocultar.
Un mejor enfoque sería proteger un mensaje con una contraseña para que sólo los usuarios que la tengan puedan verlo.
También puedes crear un post privado que sólo sea visible para los administradores, editores y autores de tu sitio web.
¿Puedo utilizar estos métodos para crear contenido para usuarios específicos?
No, estos métodos no permiten compartir eficientemente el contenido con usuarios específicos. Un mejor enfoque sería usar un plugin de membresía de WordPress.
Los plugins de membresía como MemberPress te permiten crear y publicar contenido restringido. Incluso puedes vender planes de suscripción para acceder a contenido premium.
Para obtener más detalles, consulte nuestra guía sobre cómo crear un sitio web de membresía de WordPress con instrucciones paso a paso.
Esperamos que este artículo te haya ayudado a aprender a ocultar un post de WordPress de la página principal y otras áreas de tu sitio web. También puede que quieras ver nuestra guía sobre cómo hacer un sitio de WordPress completamente privado.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para ver los video tutoriales de WordPress. También puedes encontrarnos en Twitter y Facebook.
Deja una respuesta