Impedir actualizaciones y borrado de entradas después de un tiempo

Cuenta-atrás-4-dias

Se me ocurren pocas situaciones en que sea útil este truco, pero seguro que a más de uno se le ha ocurrido alguna vez cómo se haría para que, pasado un tiempo determinado, nadie pueda modificar o borrar una entrada.

Así que si le vas a sacar partido a este truco solo tienes que añadir el siguiente código a tu plugin personal:

//Desactivar edición de entradas tras un tiempo determinado
function prohibido_editar( $allcaps, $cap, $args ) {
// Salto si no vamos a editar o borrar una entrada ...
    if( 'edit_post' != $args[0] && 'delete_post' != $args[0]
      // ... o si el usuario es administrador
      || !empty( $allcaps['manage_options'] )
      // ... o si el usuario ya no puede editar entradas
      || empty( $allcaps['edit_posts'] ) )
        return $allcaps;

    // Se cargan los datos de la entrada:
    $post = get_post( $args[2] );

    // Salto si la entrada no está aún publicada:
    if( 'publish' != $post->post_status )
        return $allcaps;

    //si la entrada tiene más de 30 días (cámbialo a lo que quieras)…
    if( strtotime( $post->post_date ) < strtotime( '-30 day' ) ) {
        //entonces impedimos que se pueda editar.
        $allcaps[$cap[0]] = FALSE;
    }
    return $allcaps;
}
add_filter( 'user_has_cap', 'prohibido_editar', 10, 3 );

Y ya está, solo tienes que cambiar la cadena -30 day al número de días que tu elijas.

Bonito truco de Smhmic en WPbeginner.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(0 votos, promedio: 0)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

3 comentarios en “Impedir actualizaciones y borrado de entradas después de un tiempo”

  1. N'gaby de Santa Cirila

    Un caso en el que puede ser útil, utilizas wordpress como blog de aula en un curso online, (o como LMS), pones una fecha limite para la entrega de un trabajo (un articulo) y permites la edicion solo hasta esa fecha limite (por ejemplo el fin del curso) Muy interesante!!

Deja un comentario

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

 

Ir arriba Ir al contenido