Esconder cierto contenido en WordPress

AVISO IMPORTANTE

Este artículo tiene más de dos años, así que su contenido podría no funcionar con tu versión de WordPress o con la versión actual.
Por favor, haz una copia de seguridad y comprueba que todo funciona correctamente antes de hacer los cambios definitivos en tu web.
Tiempo estimado de lectura: 10 minutos

 

Esconder cierto contenido en WordPress

En alguna ocasión se te ha pasado por la mente la idea de crear cierto contenido de valor exclusivo para ciertos usuarios de tu web, es decir, esconder cierto contenido en WordPress, ya sea una web o blog.

Has visto innumerables tutoriales en los que te muestran cómo hacerlo mediante una web de membresía, pero te parece que tus conocimientos de WordPress no son tan avanzados, y a medida que vas profundizando en estos tutoriales, te vas dando cuenta de que esa solución no es para ti.

En este artículo vamos a ver varias formas de esconder cierto contenido en WordPress, llegando incluso a poder esconder toda la web.

¡Vamos a ello!

Esconder un artículo completo mediante las opciones de publicación de WordPress

Quizás sea la opción más sencilla. Esto sirve para esconder todo el contenido de la noticia, ya sea mediante una contraseña o incluso convirtiendo la página o entrada en privada, con lo que será invisible para todos los usuarios.

Para convertir una página o entrada en contenido privado o protegido con contraseña, tan solo debes ir a las opciones de edición de esa página o artículo, y en la cajita llamada Publicar, en el apartado Visibilidad, elegir la opción deseada. Si activas la opción Protegida con contraseña, se te pedirá la contraseña que desbloqueará todo el contenido. Si elijes la opción Privada, esta página o artículo quedará completamente oculto.

Página protegida con contraseña

Esconder un artículo completo mediante un plugin

En esta ocasión utilizaremos un plugin llamado Members, este plugin permite esconder cierto contenido en WordPress solo para usuarios registrados.

Nada más instalarlo ya nos permite restringir contenido, y si vamos a la página de ajustes, podremos definir el mensaje de error que se mostrará a quien no pueda ver el contenido oculto.

esconder cierto contenido en WordPress con Members

Una vez activado el plugin podemos definir quién podrá ver la entrada, es decir, podemos definir qué perfiles de usuario podrán ver el contenido de la entrada y quiénes no.

Si este plugin no termina de cubrir tus expectativas porque, de alguna forma, lo ves limitado, puedes utilizar otro plugin llamado Membership, que probablemente sea uno de los plugins gratuitos más completos que existen hoy en el mercado.

Esconder contenido parcial mediante un plugin

Si lo que queremos es restringir solo parte del contenido y no todo el artículo, podemos utilizar otro plugin llamado Hidepost, que ofrece el shortcode [hidepost] con el que podemos definir el perfil de usuario mínimo y necesario que podrá ver el contenido. Lo bueno de utilizar este shortcode es que podemos esconder cierto contenido en WordPress, ya sea restringir todo el contenido o solo parte de él.

Este plugin no se ha probado con las últimas 3 versiones principales de WordPress y no se ha actualizado en los últimos 8 años, pero para lo que hace, nos sirve perfectamente.

esconder cierto contenido en WordPress con HidePost

Esconder contenido exclusivo mediante código

Si ya tienes un plugin de funciones puedes pegar este código dentro de él, y si no lo tienes creado, siempre puedes pegarlo en el archivo functions.php de tu Tema activo.

El código que debes copiar y pegar para restringir contenido es el siguiente:

//Shortcode para contenido exclusivo

add_shortcode( ‘restringido’, ‘contenido_registrados’ );

function contenido_registrados( $atts, $content = null ) {

if( is_user_logged_in() ) return ‘<p>’ . $content . ‘</p>’;

else return;

}

Este código crearía un shorcode llamado restringido, el cual podrás utilizar de la siguiente forma:

[restringido]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para tus usuarios registrados.

[/restringido]

Esconder contenido mediante el plugin Hide This

El plugin Hide This le permite ocultar ciertas partes de tus páginas o artículos utilizando el shortcodes o código corto.

[hide]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para tus usuarios.

[/hide]

También puede permitir que ciertos usuarios vean el contenido restringido utilizando sus roles de usuario, sus capacidades, su estado de inicio de sesión…

Algo que hace que este plugin sea un poco diferente de otros plugins similares es que el contenido que está oculto en los códigos cortos ni siquiera se imprime en el HTML de la página, por lo que el contenido restringido está completamente a salvo. Otros plugins que usan CSS o JavaScript para esconder cierto contenido en WordPress, seguirán mostrando el contenido en el propio código HTML de la página o artículo.

Este plugin tiene variaciones muy interesantes:

  • Esconder contenido a todos los visitantes excepto a un usuario concreto:

[hide for=»all» exclude=»username:jose»]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para jose.

[/hide]

  • Ocultar el contenido a todos los usuarios que no están logueados:

[hide for=»!logged»]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para los usuarios que no estén logueados.

[/hide]

  • Ocultar el contenido a todos los usuarios que sí están logueados:

[hide for=»logged»]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para los usuarios que logueados.

[/hide]

  • Ocultar el contenido a un usuario específico por su ID de usuario:

[hide for=»userid:14″]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para el usuario con el ID 14.

[/hide]

  • Ocultar el contenido a un usuario específico por su email:

[hide for=»useremail:jose@email.com»]

Escribe aquí el contenido que quieres restringir para el usuario con el correo jose@email.com.

[/hide]

  • Ocultar el contenido a todos los visitantes excepto a los que tengan un rol específico:

[hide for=»!administrator»]

Escribe aquí el contenido que quieres restringir para los usuarios que no sean administrador.

[/hide]

[hide for=»all» exclude=»administrator»]

Escribe aquí el contenido que quieres hacer exclusivo para el usuario administrador.

[/hide]

Como puedes ver, las posibilidades con este plugin son casi infinitas.

esconder cierto contenido en WordPress con Hide This

Esconder contenido (y mostrarlo) en un momento concreto

El plugin Show/Hide Content at Set Time nos permite ocultar contenido y / o mostrar contenido en momentos específicos. Además, podemos  repetir la acción de ocultar o mostrar ese contenido en un horario concreto. Por ejemplo, si queremos mostrar un contenido solo desde las 10 am hasta las 13 am todas las mañanas, podemos configurarlo para que lo haga.

[time-restrict-repeat type=»daily» ontime=»10:00:00″ offtime=»13:00:00″]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para tus usuarios desde las 10 am hasta las 13 pm.

[/time-restrict-repeat]

Con esta misma filosofía, también podemos configurarlo solo para mostrar contenido en ciertos días si lo deseamos, por ejemplo, un recordatorio todos los lunes para que nuestros usuarios visiten nuestra web y vean los nuevos contenidos.

[time-restrict on=»2018-04-30″ off=»2018-05-07″]

Escribe aquí el contenido que quieres restringir y hacer exclusivo para tus usuarios desde el día 30 de abril de 2018 hasta el día 7 de mayo de 2018.

[/time-restrict]

esconder cierto contenido en WordPress con Show/Hide Content at Set Time

Y por último, pero no menos importante, cómo ocultar todo el Sitio mediante contraseña

El plugin Hide My Site nos permite ocultar todo nuestro sitio web mediante una protección con contraseña. Esto puede ser útil si estamos desarrollando un sitio para un cliente y solo queremos que sea accesible para el cliente y las pocas personas que tienen la contraseña para acceder a la web.

Como ves, un plugin muy interesante para mostrar los progresos a tus clientes. Si bien es cierto que también podemos ocultarlo mediante plugins de Coming Soon, la ventaja que tiene Hide My Site respecto a plugins Comming Soon es que nadie sabrá que esa web existe y que se está desarrollando (quizás tu cliente ha reinventado Amazon y no quiere que su competencia lo sepa…).

esconder cierto contenido en WordPress con Hide My Site

Conlusión

Ya has visto lo “sencillo que es” restringir cualquier tipo de contenido a tus usuarios, ya sean usuarios registrados o visitantes. Ahora te toca a ti probarlos y ver cuál es el que mejor se adapta a tus necesidades.

¿Qué te ha parecido el artículo?. Házmelo saber en los comentarios que tienes más abajo. Estoy deseando leerte.

Por último, si crees que este artículo puede ser interesante para algún amigo tuyo, te agradecería enormemente que lo compartieras con él y con todo el mundo a través de las Redes Sociales.

Puntúa este artículo:
[Total: 2 - Promedio: 5]

Puede que también te interese...

20 comentarios

  1. Hola, me gustaría si hay posibilidad mediante código o plugin, el ocultar el contenido hasta que publiquen un comentario. O sea, que esté bloqueada la entrada, y al publicar un comentario en ella, pues que puedan verla.

    Saludos.

    1. Hola Aaron, ante todo te doy las gracias por pasarte por mi blog y comentar esta entrada.
      Lamentablemente tengo que decirte que no conozco, y no creo que exista, esa opción de mantener oculta una entrada hasta que se haga un comentario, ya que si la entrada está oculta, nadie sabe que existe y no se podrían escribir comentarios.
      Si por el contrario quieres impedir que alguien comente, WordPress por defecto deja los comentarios en moderación, lo que significa que hasta que no se aprueben, no se verán por defecto en la web.
      No sé si te he resuelto la duda, de todas formas puedes seguir comentando esta y cualquier otra entrada que desees.
      De nuevo te agradezco que te pases por el blog y que leas los artículos.
      Un abrazo.

  2. La cosa es que tengo una web de descarga de imágenes gratis, y la gente entra y ni gracias al descargar. Y la descarga está dentro de un articulo. Mi idea es que si quieren descargarla, al menos den las gracias. No se si me entiendes. Un dia encontré un plugin, pero dejó de funcionar, supongo que se habrá jodido con otra instalación.

    1. Hola de nuevo Aarón.
      Se me ocurre que puedes utilizar lo que se denomina «pago con un clic», es decir, ocultar el contenido importante de la entrada y que sólo esté disponible si el usuario ingresa su correo electrónico, le da un me gusta o comparte en Redes Sociales.
      El plugin más extendido para hacer esto es uno que se llama OnePress Social Locker.
      Espero que este plugin te pueda ayudar en tu web, ya me contarás…
      Un abrazo.

  3. Muchas gracias por este articulo!!! Realmente me agrado, tengo una duda respecto a estos plugins , es posible que a nivel Productos pueda ocultar a determinada hora un botón ? Es decir , yo tengo dos botones [9 a 2pm] y [2pm a 5pm] (hechos con woo extra productos 5), me gustaría que a determinada hora quite el de [9 a 2], es posible con alguno de estos plugins ?

    Gracias siempre por hacer contenido tan interesante y de apoyo para todos !!

    Brenda

    1. Hola Brenda, lo primero que quiero hacer es agradecerte que visites el blog y que leas los artículos.
      Respecto a tu pregunta, como has podido ver en el artículo, el plugin Show/Hide Content at Set Time te permite esconder o mostrar ciertos contenidos estableciendo un rango de fechas u horas. Sería cuestión de probar si funciona con tus botones, pero en principio debería funcionar.
      Te agradezco de nuevo tu visita y te animo a que leas más artículos y comentes los que te parezcan interesantes.
      Un saludo.

  4. Hola, muy buen articulo, casi casi conseguía lo que necesito, ojalá me puedan orientar: estoy creando una web donde cada usuario logeado tiene acceso a un «diario privado» que vendrían siendo entradas al blog, uso ultimate member para el registro y posteo, pero no logro ocultar los post, ya que como es un diario la idea es que los posts sean visibles solo por su autor y no por todos lo que se logean. alguna idea?

    1. Hola Sorelys, gracias por visitar el blog y comentar los artículos 🙂
      Respecto a tu comentario, existe una extensión llamada Ultimate Member – Private Content. Esta extensión te permite crear contenido privado y específico para cada usuario. Es muy sencilla de utilizar, la instalas, activas y vas a los Ajustes de Ultimate Member. Ahora vas a la ficha Extensiones, Private Content, haces clic en el botón y generas las páginas para los usuarios que ya existen en tu web, cambias el nombre y el icono de la nueva ficha que se va a crear. Ahora vas al usuario al que le quieres crear contenido privado, te pones sobre él y haces clic en la opción Private Content. Por último, en la ventana que se abre escribes el contenido privado para ese usuario.
      Esto deberías hacerlo con todos los usuarios a los que les quieres restringir la vista.
      Espero haberte ayudado.
      De nuevo te doy las gracias por pasarte por el blog y leer los artículos.
      Un saludo.

  5. Hola! Me gustaría saber si podría ocultar ciertas partes de una página con una contraseña y otra parte de esa misma pagina con otra contraseña distinta, es decir, ir desbloqueando por partes todo el contenido de una página mediante diferentes contraseñas.

    Un saludo y gracias de antemano

    1. Hola Rubén, en primer lugar quiero agradecerte que visites el blog y que comentes los artículos.
      Respecto a tu pregunta, tienes varias opciones para restringir con contraseña partes de tu contenido. En primer lugar te recomiendo que pruebes el plugin Password Protect de WPMU DEV, que te permite proteger con una contraseña partes de una publicación o página.
      Por otro lado, también tienes el plugin Content Lock que también te permite utilizar contraseñas mediante el uso de shortcodes.
      Prueba el que más te guste y vuelve por aquí para decirnos cómo te ha ido.
      Te agradezco de nuevo que te pases por el blog y te animo a que leas y comentes otros artículos.
      Un saludo.

      1. Hola de nuevo y encantado de escribir en su blog.

        Quisiera, para empezar exponerte mi caso, yo uso para una web de entretenimiento el maquetador de «ELEMENTOR» entonces, dentro de lá pagina editada con elementor, me es un poco complicado utilizar éstos dos plugins que me has señalado, he pensado en que quizá pudiera reformarlo todo a HTML de toda la vida, pero es un sitio web que no le quiero dedicar mucho tiempo y buscaba algo más sencillo de configurar. Como he dicho en el anterior comentario busco el ocultar parte de una pagina con una contraseña y ocultar otra parte de esa misma página con una contraseña distinta.
        Lamento las molestias ocasionadas.
        Un saludo

        1. Hola de nuevo Rubén,
          no sé si he entendido bien tu duda, el shortcode te lo genera el propio plugin (Password Protect o Content Lock) cuando lo configuras. Una vez que tienes el shortcode, lo copias y lo pegas en tu módulo Bloque de texto de Elementor, pero en lugar de pegarlo en el modo Visual, debes pegarlo en el modo HTML.
          Los dos plugins que te he dicho en el anterior comentario hacen lo que necesitas: te permiten ocultar, mediante shortcodes, parte del contenido de tu página con una contraseña.
          Espero que puedas solucionarlo y gracias de nuevo por tu comentario.
          Un saludo.

          1. Hola de nuevo!

            Vengo a decirte que al final conseguí mi meta y utilicé el plugin de password protect, pero creo que utilicé una versión diferente que es ésta:
            https://es.wordpress.org/plugins/password-protect-page/
            Al instalar el plugin en elementor se desbloquea la opción de utilizar éste plugin en el propio enmaquetador lo que lo hace mucho más cómodo.

            Así que muchísimas gracias José González Bueno, me has ayudado mucho.

            Ahora si me respondieras a otra consulta u otras que tengo no sé si pudieras responderme por aquí o por otro medio ya que no es de éste tema de ocultar contenido en wordpress.

            Un saludo!

  6. Hola, muy buen artículo muchas gracias.

    Solo tengo un par de dudas, lo que pasa es que en mi página ofrezco una membresía y por lo mismo pongo anuncios para promocionarla, pero no quiero que les aparezcan a los que ya han comprado esa membresía, hay forma de ocultar ese contenido para ciertas membresías?

    He probado con plugins que muestran información dependiendo del rol, pero como es un sitio multivendedores, no puedo asignar un rol a mis suscripciones que no sea «suscriptor» porque las otras tiendas no podrían ofrecer suscripciones para sus productos porque heredarían este rol, por eso creo que debe ser por tipo de membresía. Espero explicarme.

    Utilizo Elementor, Woocommerce Subscription y Membership.

    De antemano muchas gracias, saludos.

    1. Hola Alex, en primer lugar quiero disculparme por no haberte respondido antes, lo cierto es que se me ha traspapelado tu comentario y no lo he visto hasta hoy 🙁
      Respecto a la duda que me comentas, se me ocurre lo siguiente: lo que quieres hacer es que los usuarios registrados no vean cierto contenido, entonces lo más sencillo es mostrar ese contenido únicamente a los visitantes, de manera que si un suscriptor de tu membresía se loguea, dejará de ver ese contenido. Esto lo logramos con un shorcode llamado (por ejemplo) [usuario-visitante] y cuya forma sería algo asi:
      [usuario-visitante]Contenido visible para usuarios no logueados[/usuario-visitante]
      Y el código a utilizar puede ser algo parecido a este:
      ———-
      add_shortcode(‘usuario-visitante’,’mostrar_contenido_solo_usuarios_no_registrados’);
      function mostrar_contenido_solo_usuarios_no_registrados($atts, $content = null){
      if ( ! is_user_logged_in() ){
      return $content;
      }
      return »;
      }
      ———-
      Este código muestra el contenido que haya entre los shorcodes a los usuarios no logueados, y a los usuarios logueados no les muestra nada.
      Recuerda que este código puedes colocarlo en tu functions.php, en tu plugin de funciones, o lo que yo te aconsejo, utilizar un plugin para fragmentos de código tipo Code Snippets.
      Muchas gracias por tu visita y espero haberte ayudado.
      Un saludo y vuelve cuando quieras 🙂

  7. Hola amigo muy bueno tu blog de echo logre configurar mi pagina hasta cierto punto,

    Te comento mas concretamente que necesito, em mi web vendo servicios de diseño y tengo mi portfolio de diseñador pero antes de todo esto tenia un sitio en jimdo lleno de descargas de juegos y programas que van enlazados a un canal de youtube quiero pasar todo eso de «ocio» a mi pagina actual pero que la gente que venga buscando diseño ni tan siquiera lo vea ni en titulos ni en imagenes como que no exista para ellos, que ese mundo de sucriptores de youtube sea exactamente eso solo registrandose pueden ver ese contenido, no se si me explico, quiero juntar ocio y negocio en una sola pero ocultando el ocio del negocio bajo un registro en el sitio

    1. Hola juan Carlos, lo primero quiero pedirte disculpas por no haberte respondido antes, he tenido unos días de locura y no he podido hacerlo 🙁
      Respecto a tus necesidades, me parece algo sencillo de hacer con un plugin de membresía (por ejemplo con Members o Membership, que se mencionan en el artículo). Es decir, creas un área de suscriptores que solo ellos tendrán acceso a los contenidos que tenías en Jimdo. Con esto, cualquier persona que vea este contenido, tendrá un aviso de que no podrá verlo a no ser que se haya suscrito. Esta página de acceso no tienes por qué tenerla en tu navegación principal, ni tampoco tiene porque ser accesible desde cualquier otra página. solo la tienes ahí para que la utilicen como acceso la tus suscriptores.
      Los contenidos de ocio puedes ponerlos en una categoría única para este tipo de contenido, y después, puedes hacer que esta página (https://www.josegonzalezbueno.com/excluir-paginas-de-la-busqueda-de-wordpress/) y esta categoría (la de los contenidos de ocio), no salga en las búsquedas normales de WordPress (https://www.josegonzalezbueno.com/excluir-categorias-de-la-busqueda-en-wordpress/).
      Espero haberte ayudado en tu problema y te invito a ver más artículos del blog y a comentarlos.
      Muchas gracias por tu visita.
      Un saludo.

  8. Hola Jose,
    Felicidades por este post, me parece muy útil.(Lo guarde como referencia)
    En una tienda donde he creando pestañas personalizadas por código para mostrar información que esta en campos ACF (avanced Custom Field) quiero condicionar la aparición de un campo a dos perfiles de usuarios (Administradores y gerentes de la tienda) por medio de PHP.
    ¿Como se podria hace?
    También me gustaria ocultar alguno de los campos si esta vacio.
    Agradezco tu ayuda por adelantado
    Saludos, que estes bien y sigas adelante

    1. Hola Odilo,
      te agradezco que visites el blog y que comentes los artículos, también te agradezco tus palabras y me alegra que los contenidos que publico te sean de utilidad.
      Lamentablemente no manejo ACF, así que en principio no podría ayudarte, si me das un poquito de tiempo puedo instalarlo e investigar tu duda. Siento no ser de más utilidad.
      La verdad es que eres la primera persona a la que no puedo ayudar en estos 4 años que llevo con el blog, pero como te he dicho antes, justo ese plugin no lo manejo.
      Intenta investigar un poquito más por tu cuenta, yo también me pondré con ello ya a ver si entre los dos conseguimos una solución a tu problema.
      Gracias por visitar el blog y no dejes de comentar lo que te parezca interesante.
      Un saludo.

Deja una respuesta

Información básica sobre protección de datos
Responsable: Jose González Bueno.
Finalidad: Moderación y publicación de comentarios.
Destinatarios: No se comunican datos a terceros, salvo por imperativo legal.
Derechos: Tienes derecho a acceder, rectificar, exportar y suprimir tus datos.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad de este sitio. *