Cómo ocultar mensajes protegidos por contraseña de WordPress Loop

WordPress te permite crear mensajes protegidos por contraseña. Recientemente uno de nuestros lectores preguntó si era posible ocultar los mensajes protegidos por contraseña del sitio. Por defecto, WordPress oculta el contenido de un mensaje protegido con contraseña, pero aún así muestra el título del mensaje con el prefijo’Protegido’. En este artículo, te mostraremos cómo ocultar mensajes protegidos por contraseña del bucle de WordPress.

¿Por qué ocultar mensajes protegidos 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 del mensaje.

Este título de la entrada es visible en la página de inicio, archivos, widgets de entradas recientes, etc. Si desea mantener algún contenido completamente privado, entonces 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, echemos un vistazo a cómo ocultar tus mensajes protegidos por contraseña del bucle de WordPress para que otros usuarios no puedan verlos.

Ocultar mensajes protegidos por contraseña en WordPress

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

1234567función wpb_password_post_filter( $where = ”’) {si (!is_single() & && is_admin()) {$where .= ” AND post_password = ””;}regresar $where;}add_filter( ‘posts_where’, ‘wpb_password_post_filter’ );

Este código simplemente modifica la consulta enviada a WordPress usando el filtro posts_where. Le pide a WordPress que busque todos los mensajes que no tienen contraseña.

Visite su sitio web y verá que los mensajes protegidos por contraseña ya no son visibles en la página de inicio, archivos o en widgets como los mensajes recientes.

Aún así, puedes visitar el mensaje accediendo a él a través de una URL directa al propio mensaje.

El ejemplo anterior, oculta los mensajes protegidos por contraseña de todos los usuarios. ¿Qué pasaría si tuvieras un sitio de WordPress de varios autores y quisieras que los usuarios con la capacidad de editar mensajes privados pudieran ver los mensajes protegidos?

Simplemente modifique el código anterior con otra etiqueta condicional, como ésta:

1234567función wpb_password_post_filter( $where = ”’) {si (!is_single() & & & current_user_can(‘edit_private_posts’) & !is_admin()) {$where .= ” AND post_password = ””;}regresar $where;}add_filter( `posts_where’, ‘wpb_password_post_filter’);

En este ejemplo, comprobamos si un usuario no puede editar los mensajes protegidos por contraseña, entonces sólo mostramos los mensajes que no tienen contraseña. Al hacerlo, todos los usuarios con funciones de administrador y editor verán los mensajes protegidos por contraseña en la parte delantera de su sitio.

Valora el post

Deja un comentario