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

Cómo ocultar entradas protegidas por contraseña del bucle de WordPress

Varios lectores se han sorprendido al saber que la protección de contraseñas de WordPress no es tan privada como parece.

Claro, el contenido está bloqueado tras una contraseña. Pero los títulos de las entradas siguen apareciendo en la página de inicio, en las páginas de categorías y en los resultados de las búsquedas.

Es como cerrar un diario pero dejar los nombres de los capítulos a la vista. 😱

Es un problema si gestionas un sitio de membresía o compartes información comercial confidencial. No solo tiene un aspecto desordenado, sino que además deja entrever lo que se oculta entre bastidores. Algunos visitantes curiosos podrían incluso intentar acceder al contenido sólo porque saben que está ahí.

Afortunadamente, hay formas de ocultar completamente estas entradas a la vista del público.

En esta guía, te mostraré las mejores formas de mantener tu contenido privado realmente privado. Hemos probado varios métodos para quitar entradas protegidas por contraseña de los bucles de WordPress – sin romper su sitio o bloquear a las personas que necesitan acceso. 🙌

How to Hide Password Protected Posts From WordPress Loop

¿Por qué ocultar entradas protegidas por contraseña en WordPress?

Por defecto, WordPress muestra una entrada protegida por contraseña con su título y el prefijo ‘protected’. Los usuarios deben introducir la contraseña para ver el contenido de la entrada.

Este prefijo de entrada es visible en la página de inicio, en los archivos, en los widgets de entradas recientes y en otras áreas.

Password protected posts displayed on homepage

Si quieres mantener algunos contenidos completamente privados, esto no es lo ideal por varias razones.

Los usuarios que no tienen contraseñas pueden seguir viendo el título de la entrada, lo que puede ser un problema en sí mismo. También pueden intentar acceder al contenido con un ataque de fuerza bruta. Como todos sabemos, las contraseñas se pueden descifrar.

Con esto en mente, te mostraremos cómo ocultar tus entradas protegidas por contraseña del bucle de WordPress para que otros usuarios no puedan verlas. Aquí tienes un vistazo rápido a todos los pasos que darás:

¡Adelante!

Primer paso Instale un plugin de fragmentos de código

Para realizar cambios específicos en su sitio, algunos expertos en WordPress pueden indicarle que añada un fragmento de código personalizado al archivo functions.php de su tema.

No recomendamos este método, ya que no es muy fácil de usar para principiantes y corres el riesgo de romper tu sitio web. En su lugar, puede utilizar un plugin de fragmentos de código, como WPCode, para hacer el trabajo.

WPCode es el mejor plugin de fragmentos de código del mercado. Algunas de nuestras marcas asociadas lo utilizan para añadir y gestionar fragmentos de código personalizados en sus sitios web, y les ha encantado.

Puedes encontrar más información acerca de este plugin en nuestra completa reseña / valoración de WPCode.

WPCode's homepage

Lo mejor es que puedes utilizar la versión gratuita de WPCode para añadir un fragmento de código personalizado a tu sitio de WordPress.

Primero, instala y activa el plugin gratuito WPCode. Si necesitas ayuda con el proceso, consulta nuestra guía sobre cómo instalar un plugin de WordPress.

🧑‍💻 Consejo de experto: Desbloquea características avanzadas como el historial completo de revisiones, la programación de código y el acceso a más de 100 fragmentos de código aprobados por expertos al adquirir la versión Premium de WPCode.

Paso 2. Ocultar entradas protegidas por contraseña en WordPress Ocultar entradas protegidas por contraseña en WordPress

Una vez que haya activado el plugin, vaya a Code Snippet ” + Add Snippet desde el área de administración de WordPress.

A continuación, haga clic en el botón “Añadir fragmento personalizado” de la sección “Añadir código personalizado (nuevo fragmento)”.

Adding custom code in WPCode

En la siguiente pantalla, tendrá que elegir el tipo de código para su fragmento personalizado.

Para este tutorial, necesitaremos utilizar la opción ‘PHP Snippet’.

Choosing PHP Snippet as the code type

A continuación, se le redirigirá al editor de fragmentos de código personalizados.

A partir de aquí, primero querrás nombrar el fragmento personalizado. Te recomendamos que uses un nombre claro, como “Ocultar publicaciones protegidas con contraseña”. Esto facilitará la organización de tus fragmentos de código personalizados más adelante.

A continuación, basta con añadir el siguiente código en el cuadro “Vista previa del código”:

function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Este código modifica la consulta enviada a WordPress utilizando el filtro posts_where. Pide a WordPress que busque todas las entradas que no tengan contraseña.

Esto es lo que parece en el editor:

Code preview for hiding password-protected posts

En este punto, tendrás que cambiar el interruptor “Inactivo” a “Activo”.

A continuación, haz clic en “Guardar fragmento”.

Saving snippet for hiding password-protected posts

Por defecto, WPCode aplicará automáticamente el fragmento de código en cualquier lugar de su sitio WordPress.

Ahora, si visitas tu sitio web, verás que las entradas protegidas por contraseña ya no están visibles en la página de inicio, los archivos o en widgets como las entradas recientes.

Protected posts hidden

Recuerde que puede seguir visitando la entrada accediendo a ella a través de una URL directa.

Consejo adicional: Permitir el acceso a publicaciones protegidas a usuarios específicos

El ejemplo anterior oculta las entradas protegidas por contraseña a todos los usuarios. Pero, ¿qué pasaría si tuvieras un sitio WordPress con varios autores y quisieras que las entradas protegidas pudieran ser vistas por usuarios con capacidad para editar entradas privadas?

Basta con modificar el código anterior con otra etiqueta condicional como ésta:

function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

En este ejemplo, comprobamos si un usuario no puede editar las entradas protegidas por contraseña y sólo mostramos las entradas que no tienen contraseña.

De este modo, todos los usuarios de WordPress con perfiles de administrador y editor verán las entradas protegidas por contraseña en la portada de su sitio.

💡 Consejo de información privilegiada: ¿Estás cansado de personalizar y gestionar tu sitio web WordPress tú solo? ¡La buena noticia es que no tienes que hacerlo!

Con el Servicio de Mantenimiento y Soporte de WordPress de WPBeginner, nuestro equipo de expertos se asegurará de que su sitio esté actualizado, creará copias de seguridad periódicas, proporcionará supervisión del tiempo de actividad las 24 horas del día, ¡y mucho más!

Reserve una llamada de consulta gratuita o consulte todos nuestros servicios profesionales hoy mismo.

FAQ Acerca de cómo ocultar entradas protegidas por contraseña en WordPress

¿Qué ocurre cuando se ocultan entradas protegidas por contraseña? He aquí algunas de las preguntas más frecuentes que nos hacen nuestros lectores, junto con respuestas vaciadas que le ayudarán a decidir si este método es adecuado para su sitio.

¿Por qué querría ocultar entradas protegidas por contraseña en WordPress?

Ocultar entradas protegidas por contraseña ayuda a que su sitio tenga un aspecto limpio y profesional. También evita que visitantes no autorizados vean que existe contenido privado, reduciendo el riesgo de intentos de acceso y manteniendo su sitio más seguro.

¿Puedo ocultar entradas protegidas por contraseña sin utilizar código?

Sí. Aunque WordPress ofrece ajustes básicos de privacidad, el uso de un plugin como WPCode facilita el proceso y lo hace más fiable, especialmente si no te sientes cómodo editando código. Te da más control sin necesidad de conocimientos técnicos.

¿Ocultar estas entradas afectará a la visibilidad para los usuarios autorizados?

En absoluto. Los usuarios autorizados, como los miembros conectados o los usuarios con perfiles específicos, pueden acceder directamente a las entradas. Siempre que tengan la contraseña o los permisos correctos.

¿Es WPCode el solo plugin que puede ayudar con esto?

WPCode es una de las opciones más fáciles y fiables, por lo que la recomendamos. Dicho esto, hay otros plugins disponibles. Sólo asegúrate de elegir uno que esté bien mantenido y sea compatible con tu tema y otras herramientas.

¿Ocultar entradas protegidas por contraseña afectará al SEO de mi sitio?

Ocultar estas entradas de su página de inicio o archivos no perjudicará su SEO. De hecho, puede mejorarlo al mantener su contenido de cara al público más centrado y relevante para los motores de búsqueda.

Esperamos que este artículo te haya ayudado a ocultar las entradas protegidas por contraseña del bucle de WordPress de tu sitio. También puedes consultar nuestro tutorial sobre cómo cambiar el prefijo de las entradas privadas y protegidas en WordPress y nuestra guía sobre diferentes formas de proteger contenido en 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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

11 comentariosLeave a Reply

  1. Thank you guys so much. This really helped me. I appreciate it. Please keep more of this type of posts coming that do not involve using a plugin.

  2. I created a site specific plugin and followed these steps and it worked for hiding my post on the “Posts” page of my site. However, the post is still visible on a Related Posts widget for each individual post. (Very similar to the image you have above, however my Password protected post is still visible.)

    Is there anything I can do to fix this?

  3. I wanted to make my own code adjustment to show the posts if you could read_private_posts.

    function remove_password_protected_posts( $where = ” ) {
    if (!is_single() && !current_user_can(‘read_private_posts’) && !is_admin() ) {
    $where .= ” AND post_password = ””;
    }
    return $where;
    }
    add_filter( ‘posts_where’, ‘remove_password_protected_posts’ );

    Great post as usual. Thanks.

  4. Hi guys

    I made a site specific plugin with the following code:

    If I try to attach a nextgen gallery to my post, the gallery doesn’t load, as soon as I disable the plugin, the nextgen gallery goes back to normal.

    Regards

  5. Thanks for this snippet. So helpful!

    Regarding hiding these posts from the rss feed, I ran across this snippet.


    function rss_filter_protected($query) {
    if ($query->is_feed) {
    add_filter('posts_where', 'rss_filter_password_where');
    }
    return $query;
    }
    add_filter('pre_get_posts','rss_filter_protected');

  6. Thanks for that great tip!
    But are these posts hidden from the loop with your code snippet also hidden from the RSS feed?

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.