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

WordPress permite crear entradas protegidas por contraseña. Recientemente, uno de nuestros lectores preguntó si era posible ocultar las entradas protegidas por contraseña del sitio. Por defecto, WordPress oculta el contenido de una entrada protegida por contraseña, pero sigue mostrando el título de la entrada con el prefijo "Protegido". En este artículo, te mostraremos cómo ocultar las entradas protegidas por contraseña del bucle de WordPress

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

Por defecto, WordPress muestra la entrada protegida por contraseña con su título y un prefijo "protegido". Los usuarios tendrán que introducir la contraseña para ver el contenido de la entrada

Las publicaciones protegidas por contraseña se muestran en la página de inicio y en los widgets

Este título de la entrada es visible en la página de inicio, los archivos, el widget de entradas recientes, etc. Si quieres mantener algún contenido completamente privado, esto no es lo ideal

No sólo los usuarios que no tienen contraseña pueden ver el título de la entrada, sino que también pueden intentar introducir contraseñas. Como todos sabemos, las contraseñas pueden ser descifradas

Dicho esto, vamos a ver cómo ocultar tus entradas protegidas por contraseña del bucle de WordPress para que otros usuarios no puedan verlas

Cómo ocultar las entradas protegidas por contraseña en WordPress

Simplemente añade este código al archivo functions.php de tu tema o a un plugin específico del sitio


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 simplemente modifica la consulta que se envía a WordPress mediante la función posts_where filtro. Pide a WordPress que recupere todas las entradas que no tienen contraseña

Visita tu sitio web y verás que las entradas protegidas por contraseña ya no son visibles en la página de inicio, en los archivos o en los widgets como las entradas recientes

Antes y después de ocultar las entradas protegidas en WordPress

Todavía puedes visitar la entrada accediendo a ella a través de una URL directa a la propia entrada

El ejemplo anterior oculta las entradas protegidas por contraseña a todos los usuarios. ¿Qué pasaría si tuvieras un sitio WordPress con varios autores y quisieras que las entradas protegidas fueran visibles para los usuarios con capacidad de editar las entradas privadas?

Sólo tienes que 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 entonces sólo mostramos las entradas que no tienen contraseña. De este modo, todos los usuarios con roles de administrador y editor verán las publicaciones protegidas por contraseña en el front end de tu sitio

Esperamos que este artículo te haya ayudado a ocultar las entradas protegidas por contraseña del bucle de WordPress en tu sitio. Quizás también quieras ver nuestro tutorial sobre cómo cambiar el prefijo de las entradas privadas y protegidas en WordPress

Si te ha gustado este artículo, suscríbete a nuestro Canal de YouTube para los videotutoriales de WordPress. También puedes encontrarnos en Twitter y Google+.

Si quieres conocer otros artículos parecidos a Cómo ocultar las entradas protegidas con contraseña del bucle de WordPress puedes visitar la categoría Tutoriales.

¡Más Contenido!

Deja un comentario

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

Go up