Cómo proteger posts con contraseña en WordPress

¿Alguna vez has querido proteger posts con contraseña y no has sabido cómo hacerlo?

Lo cierto es que hay ocasiones en las que te puede interesa restringir el acceso a parte de tu contenido. Por ejemplo, páginas o artículos exclusivos para tu comunidad, las lecciones de un minicurso que solo quieres que vean tus suscriptores o información que te interesa compartir únicamente con determinadas personas.

En WordPress podemos hacerlo sin apenas dificultad.

¿Quieres saber cómo proteger posts con contraseña? Sigue leyendo porque en este artículo vas a descubrir cómo conseguirlo en menos de 5 minutos.

Cómo proteger posts con contraseña en WordPress

Como te decía, WordPress ofrece la opción de elegir el nivel de visibilidad que queremos darle a nuestros artículos y páginas.

Para ello, solo hay que seguir unos sencillos pasos.

#1. Crea una página o una entrada

En primer lugar, crea una página o una entrada nueva con normalidad.

Si quieres proteger con contraseña posts ya existentes, simplemente entra en el contenido como si fueras a editarlo.

#2.  Elige la protección

Una vez dentro de la página o entrada que quieres proteger con contraseña, pincha en «Editar» la opción «Visibilidad» que verás en la parte derecha.

proteger contenido wordpress
Proteger posts con contraseña: edita la visibilidad.

Al hacer clic en el desplegable, aparecerán varias opciones.

Por defecto, siempre veremos la opción «Público» como la elegida. Es decir, todo el mundo que acceda a tu sitio, podrá ver ese contenido.

Además, tenemos otras 3 alternativas:

  • Fijar esta entrada en la página de inicio.
  • Protegida con contraseña.
  • Privada.

Puesto que queremos proteger posts con contraseña, elegiremos la segunda opción.

Fíjate que se abre una casilla. Ahí deberás escribir la contraseña con la que quieres proteger el post.

proteger-contenido-wordpress
Proteger posts con contraseña: elige la opción.

#3. Guarda los cambios

Por último, acepta y guarda los cambios.

Con estos 3 pasos, cuando un usuario acceda a tu blog, podrá ver el título de la entrada, pero al hacer clic, se le pedirá la contraseña de acceso.

Como ves, no es algo que te lleve más de unos segundos.

Y para que lo veas más claro, aquí te dejo un vídeo donde verás los pasos.

Cómo eliminar «Protegido» del título

Al proteger posts con contraseña, comprobarás que delante del título aparece «Protegido». Es la forma que tiene WordPress de avisar a los usuarios que ese contenido en concreto tiene protección y será necesaria una contraseña para consumir la información.

Si quieres que se muestre el título sin esa palabra, tendrás que hacer una pequeña modificación de código.

Es tan sencillo como abrir el archivo functions.php y pegar estas líneas de código:

// Cambiando el título de los posts protegidos con contraseña:
add_filter('the_title','hormi_post_protegidos');
function hormi_post_protegidos($title) {
    return str_replace('Protegido:','', $title);
    }

Lo que conseguimos con ello es que en el lugar donde aparece «Protegido» no aparezca nada.

Si prefieres sustituir esa palabra por otra, donde hemos escrito las comillas ponemos lo que queramos. Para el ejemplo, he elegido «Se necesita contraseña»:
// Cambiando el título de los posts protegidos con contraseña:
add_filter('the_title','hormi_post_protegidos');
function hormi_post_protegidos($title) {
    return str_replace('Protegido:','Se necesita contraseña:', $title);
    }

¿Y si quieres proteger varios contenidos con contraseña y en todos ellos quieres quitar «Protegido» o «Privado»?

Tan fácil como insertar estas líneas:

// Sustitución de varias palabras en los títulos
function hormi_title_post_protegidos($title){
    $pattern[0] = '/Protected:/';
    $pattern[1] = '/Private:/';
    $pattern[2] = '/Protegido:/';
    $pattern[3] = '/Privado:/';
    $replacement[0] = ''; // Texto con el que sustituir 'Protected:'
    $replacement[1] = ''; // Texto con el que sustituir 'Private:'
    $replacement[2] = ''; // Texto con el que sustituir 'Protegido:'
    $replacement[3] = ''; // Texto con el que sustituir 'Privado:'       
 
    return preg_replace($pattern, $replacement, $title);
}
add_filter('the_title', 'hormi_title_post_protegidos');

Diferencia entre proteger posts con contraseña y la vista privada

Tal y como hemos visto, en las opciones de visibilidad hay 2 posibilidades (además de mostrarlo como «público»): «proteger con contraseña» y «privada».

Aunque ambas restringen el acceso a todo el mundo, no lo hacen de la misma manera.

Con la opción de proteger posts con contraseña, el título se publica y es visible para todos los usuarios, pero no se puede acceder al interior del contenido sin la clave de acceso.

La opción «privada» nos permite ocultar por completo el contenido, por lo que ni siquiera será visible el título.

Aparte de esto, el contenido privado solo pueden verlo administradores y editores, a diferencia de la protección con contraseña.

Cómo ocultar entradas protegidas con contraseña

A juzgar por lo que te acabo de contar, puedes pensar que si no quieres que se muestre en absoluto un contenido determinado, no te queda más remedio que ponerlo en modo «privado».

Sin embargo, puedes proteger posts con contraseña y eliminar su vista por completo, como si fuera información privada.

¿Cómo se hace?

Añadiendo unas líneas de código en el archivo functions.php:

// Esconder posts protegidos

function exclude_protected($where) {
global $wpdb;
return $where .= " AND {$wpdb->posts}.post_password = '' ";

}

// Donde mostrar los posts protegidos
function exclude_protected_action($query) {
if( !is_single() && !is_page() && !is_admin() ) {
add_filter( 'posts_where', 'exclude_protected' );

}

}

add_action('pre_get_posts', 'exclude_protected_action');

Cómo restringir el acceso de otros elementos

Proteger posts con contraseña es la necesidad más habitual, pero no la única.

Puede que te interese impedir el acceso a los comentarios, barra lateral, campos personalizados…

En este caso, tienes que utilizar la función «post password required», que se encarga de comprobar que se ha introducido la clave correcta para visualizar el elemento.

Por ejemplo, si queremos ocultar los comentarios, haríamos esto:

<?php if ( is_page(5) && !post_password_required() ) : ?>
Comentarios ocultos con contraseña en la página con ID=5
<?php else : ?>
Comentarios sin protección, disponible para todos los usuarios
<?php endif; ?>

Proteger posts con contraseña te permitirá enviar a tus suscriptores contenido de valor exclusivo, práctica que te recomiendo que incluyas de vez en cuando en tu estrategia de email marketing.

Ahora que sabes cómo proteger posts con contraseña en WordPress, cuéntame: ¿qué utilidad le darás a esta función? ¿Te has sorprendido de lo fácil que es el proceso? Te espero en los comentarios.

Fuente de imagen: Shutterstock

Acceso gratuito
a la Academia de
Hormigas en la Nube

+20 cursos disponibles sobre herramientas, marketing y ventas

Por tiempo limitado estoy regalando el acceso a la librería de recursos de la Academia de Hormigas en la Nube.

Cursos de ActiveCampaign, Elementor, Beaver Builder, WordPress, Copywriting, ventas, email marketing y más te estan esperando dentro. Disponible gratis por tiempo limitado.

Mockup escritorio herramientas
Ir arriba