Como restringir o acesso da biblioteca de mídia aos uploads próprios do usuário no WordPress

Por padrão, o WordPress permite que os autores vejam todas as imagens na biblioteca de mídia do seu site. Isso pode ser problemático se você convidar muitos autores convidados. Neste artigo, mostraremos como restringir o acesso da biblioteca de mídia do WordPress aos uploads do usuário.

Restringir o acesso da biblioteca de mídia WordPress aos uploads do usuário

Por que restringir o acesso da biblioteca de mídia aos uploads do próprio usuário?

O WordPress permite que os autores vejam todos os arquivos na biblioteca de mídia. Eles também podem ver imagens carregadas por um administrador, editor ou outros autores.

Aprender mais

Digamos que você está criando uma nova postagem para anunciar um próximo produto ou acordo. Autores e autores convidados no seu site poderão ver as imagens que você carrega nesse artigo na biblioteca de mídia.

Seus uploads também serão visíveis no popup ‘Adicionar mídia’, que os usuários vêem ao adicionar imagens aos seus próprios artigos.

Para muitos sites, isso pode não ser um grande problema. No entanto, se você executar um site multi-autor, então você pode querer mudar isso.

Vamos dar uma olhada em como restringir facilmente o acesso da biblioteca de mídia aos uploads do usuário.

Método 1: restringir o acesso à biblioteca de mídia usando um complemento

Este método é mais fácil e é recomendado para todos os usuários.

A primeira coisa que você precisa fazer é instalar e ativar o plugin Restrict Media Library Access. Para mais detalhes

Este plugin funciona fora da caixa e não há configurações para você configurar.

Após a ativação, ele filtra a consulta da biblioteca de mídia para ver se o usuário atual é um administrador ou editor. Se a função do usuário não corresponder a nenhuma delas, então ela só mostrará os uploads do usuário.

Os usuários com a função de usuário do administrador ou editor poderão ver todos os carregamentos de mídia como de costume.

Método 2: restringir manualmente o acesso à biblioteca de mídia

O primeiro método funcionaria para a maioria dos sites, pois limita o acesso à biblioteca de mídia e permite que apenas o administrador e o editor vejam todos os carregamentos de mídia.

No entanto, se você quiser adicionar uma função de usuário personalizada ou simplesmente não quiser usar um plugin, então você pode tentar esse método. Ele usa o mesmo código usado pelo plugin, mas você poderá modificá-lo para atender às suas necessidades.

Este método requer que você adicione código aos seus arquivos do WordPress. Se você não fez isso antes, então veja o nosso guia sobre como copiar e colar o código no WordPress.

Você precisará adicionar o seguinte código ao seu arquivo WordPress functions.php ou a um plugin específico do site.

// Limite o acesso da biblioteca de mídia
 
 add_filter ('ajax_query_attachments_args', 'wpb_show_current_user_attachments');

 função wpb_show_current_user_attachments ($ query) {
     $ user_id = get_current_user_id ();
     se ($ user_id &&! current_user_can ('activate_plugins') &&! current_user_can ('edit_others_posts
 ')) {
         $ query ['author'] = $ user_id;
     }
     retornar consulta $;
 } 

Este código usa a função current_user_can para verificar se o usuário tem a capacidade de ativar plugins ou editar postagens de outros usuários. Se não o fizerem, então ele altera a consulta usada para exibir arquivos de mídia e limita-a à identificação do usuário.