Ocultar entradas con password del loop de WordPress

Por Noticias0

password-wordpress-1024x683.jpg

WordPress nos permite crear entradas protegidas por contraseña. Por defecto, WordPress oculta el contenido de un mensaje protegido con contraseña, pero sigue mostrando el título del post con el prefijo ‘Protegida’.
El título de este post es visible en la página web, archivos, últimos posts widget, etc.. Si se desea mantener algún contenido totalmente privado, entonces esto no es ideal.

No sólo los usuarios que no tienen contraseña pueden ver el título del post, también pueden tratar de introducir contraseñas. Como todos sabemos, las contraseñas pueden ser quebradas por fuerza bruta.

En este post te contamos cómo hacer para ocultar este título del loop de WordPress.

Ocultar contraseña protegida Posts en WordPress

Simplemente, agregue este código al archivo functions.php de tu tema. Antes de hacer cualquier cambio en el archivo functions.php realizar un backup. No nos hacemos responsables por cualquier inconveniente que puedas tener en dicho cambio.

function ocultar_password_post_filter( $where = » ) {
if (!is_single() && !is_admin()) {
$where .= » AND post_password = »»;
}
return $where;
}
add_filter( ‘posts_where’, ‘ocultar_password_post_filter’ );

Todavía puedes visitar el post accediendo a través de una URL directa del mismo.

Este código oculta las entradas con contraseñas a todos los usuarios, pero ¿podemos hacer visible este post sólo para usuarios con permiso de edición? Claro que sí!

Simplemente modificamos el código anterior con otra etiqueta condicional:

function ocultar_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’, ‘ocultar_password_post_filter’ );

Con este código cualquier usuario que no tenga permisos de edición no verá el título del artículo con contraseña. Todos los usuarios con roles de editor o superior podrá ver el artículo sin ningún problema.

Si te gustó este artículo, podés hacer me gusta en nuestra página de facebook o seguirnos en Twitter y Google +.

Comenta

Tu Email no será publicado. Campos requeridos *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.