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
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
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.
Deja un comentario
¡Más Contenido!