Como bloquear atualizações de postagem do WordPress e exclusão após um período definido

Gerenciar o site do WordPress com vários autores pode ser complicado às vezes. Existem plugins para gerenciar o fluxo de trabalho editorial, mas você pode encontrar situações em que você precisa de soluções específicas para um melhor controle do seu site WordPress. Recentemente, ajudamos um usuário a encontrar essa solução. Eles queriam bloquear as atualizações e a exclusão do post do WordPress após um período de tempo definido para todos os usuários (incluindo editores) após um período de tempo definido. Por exemplo, se uma publicação publicada tiver 30 dias ou mais, então ela não pode ser editada ou excluída pelos editores. Somente os administradores podem modificar essa publicação. Neste artigo, mostraremos como bloquear a edição, atualizações e exclusão após um período de tempo definido no WordPress.

Bloquear postagens atualizações e exclusão para postagens publicadas mais antigas no WordPress

Tudo o que você precisa fazer é adicionar o seguinte código no arquivo functions.php do seu tema ou em um plugin específico do site.

função site_restrict_editing ($ allcaps, $ cap, $ args) {

     // Fale para fora se não estamos pedindo para editar ou excluir uma postagem ...
     se ('edit_post'! = $ args [0] && 'delete_post'! = $ args [0]
       // ... ou o usuário é administrador
       ||  ! empty ($ allcaps ['manage_options'])
       // ... ou o usuário já não pode editar a postagem
       ||  vazio ($ allcaps ['edit_posts']))
         retornar $ allcaps;

     // Carrega os dados da postagem:
     $ post = get_post ($ args [2]);

     // Cancelar se a postagem não for publicada:
     se ('publicar'! = $ post-> post_status)
         retornar $ allcaps;

     // se a postagem for superior a 30 dias.  Mude-o para atender às suas necessidades
     se (strtotime ($ post-> post_date) 

Esta função verifica se o usuário tem a capacidade de editar ou excluir postagens. Depois disso, ele verifica o status do post. Se uma postagem for publicada e tiver mais de 30 dias, a capacidade do usuário para editar e excluir a postagem é retirada. Se um post for publicado, mas não é mais antigo do que 30 dias, os usuários com a capacidade de editar posts ainda podem editá-lo. Nota: Os administradores podem editar e excluir postagens sempre que quiserem.

Esperamos que este artigo tenha ajudado alguém que esteja a tentar bloquear a edição, a atualização e a exclusão do WordPress após um período de tempo definido. Você já faria isso em seu site? Que casos de uso você pode ver por algo assim? Deixe-nos saber nos comentários abaixo.

Fonte:
Smhmic