Cómo bloquear las actualizaciones de WordPress y la eliminación de publicaciones después de un período determinado

Administrar su sitio web de WordPress con varios autores a veces puede ser complicado. Existen plugins para administrar el flujo de trabajo editorial, pero puede encontrarse con situaciones en las que necesite soluciones específicas para un mejor control de su sitio de WordPress. Recientemente ayudamos a un usuario a encontrar una solución de este tipo. Querían bloquear las actualizaciones y la eliminación de publicaciones de WordPress después de un cierto período de tiempo para todos los usuarios (incluidos los editores) después de un cierto período de tiempo. Por ejemplo, si una publicación publicada tiene 30 días o más, los editores no pueden editarla ni eliminarla. Solo los administradores pueden editar esa publicación. En este artículo, le mostraremos cómo bloquear la edición, las actualizaciones y la eliminación de publicaciones después de un cierto período de tiempo en WordPress.

Todo lo que necesita hacer es agregar el siguiente código en el archivo functions.php de su tema o en un plugin específico del sitio.


function trucoswp_restrict_editing( $allcaps, $cap, $args ) {

    // Bail out if we're not asking to edit or delete a post ...
    if( 'edit_post' != $args[0] && 'delete_post' != $args[0]
      // ... or user is admin
      || !empty( $allcaps['manage_options'] )
      // ... or user already cannot edit the post
      || empty( $allcaps['edit_posts'] ) )
        return $allcaps;

    // Load the post data:
    $post = get_post( $args[2] );

    // Bail out if the post isn't published:
    if( 'publish' != $post->post_status )
        return $allcaps;

    //if post is older than 30 days. Change it to meet your needs
    if( strtotime( $post->post_date ) < strtotime( '-30 day' ) ) {
        //Then disallow editing.
        $allcaps[$cap[0]] = FALSE;
    }
    return $allcaps;
}
add_filter( 'user_has_cap', 'trucoswp_restrict_editing', 10, 3 );

Esta función comprueba si el usuario tiene la capacidad de editar o eliminar mensajes. Luego verifique el estado de la publicación. Si se publica una publicación y tiene más de 30 días, se elimina la capacidad del usuario para editar y eliminar la publicación. Si se publica una publicación, pero no tiene más de 30 días, los usuarios con la capacidad de editar publicaciones aún pueden editarla. Nota: Los administradores pueden editar y eliminar publicaciones con la frecuencia que deseen.

Esperamos que este artículo haya ayudado a cualquiera que esté intentando dejar de editar, actualizar y eliminar publicaciones en WordPress después de cierto tiempo. ¿Harías esto alguna vez en tu sitio? ¿Qué casos de uso puede ver para algo como esto? Háganos saber en los comentarios a continuación.

Fuente:
Smhmic

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicado. Required fields are marked *