Como Organizar Facilmente Uploads de Mídia por Usuários no WordPress

Gerenciar um site WordPress com múltiplos autores é empolgante até que a biblioteca de mídia se torne uma bagunça geral. Já passamos por isso e sabemos o quão frustrante é quando um autor exclui acidentalmente as imagens de outro, causando caos pouco antes de um grande lançamento.

Prevenir isso é mais fácil do que você imagina. Você pode restringir quais autores veem quais arquivos de mídia, trazendo ordem de volta à sua biblioteca.

Embora o WordPress não tenha uma configuração integrada para isso, vamos compartilhar o método simples que usamos em nossos próprios projetos. Ele ajudará você a manter seus arquivos de mídia organizados e seguros.

Como organizar uploads de mídia por usuários no WordPress

Por Que Restringir o Acesso de Autores aos Uploads de Mídia?

Se você tem um blog WordPress com múltiplos autores, seus autores podem fazer upload de muitas imagens diferentes. Isso pode dificultar para um autor encontrar a imagem certa, ou eles podem excluir ou editar acidentalmente o arquivo de mídia de outra pessoa.

Isso pode causar todo tipo de problemas, incluindo baixa produtividade, muito trabalho extra para administradores e editores do site, e um fluxo de trabalho editorial complicado.

Esse acesso ilimitado também pode ser uma preocupação de privacidade. Por exemplo, se você estiver trabalhando em um novo produto ou em uma ideia de post de blog, outros autores poderão ver imagens confidenciais na biblioteca de mídia antes que você faça um anúncio público.

Se você tem um site de assinatura WordPress, os contribuidores poderão até mesmo acessar arquivos de mídia premium através da biblioteca de mídia.

Dito isso, vamos ver como restringir quem pode ver os uploads de mídia dentro da sua área de administração do WordPress.

Como Organizar Uploads de Mídia por Usuários com WPCode

Embora alguns plugins tenham oferecido esse recurso no passado, a maneira mais confiável e leve de organizar uploads de usuários é adicionando um simples trecho de código. Não se preocupe, é mais fácil do que parece!

Vamos usar o plugin gratuito WPCode para fazer isso. É a maneira mais segura e fácil de adicionar código personalizado ao seu site WordPress sem editar os arquivos do seu tema.

Mostraremos dois trechos de código que você pode usar. O primeiro trecho restringe o acesso à biblioteca de mídia para todos os usuários não administradores, e o segundo restringe o acesso para funções de usuário específicas, como Autores e Contribuidores.

Frequentemente, guias pedirão que você adicione código personalizado ao seu tema WordPress. No entanto, isso não é recomendado, pois erros simples ou erros de digitação no seu código podem causar erros comuns do WordPress ou até mesmo quebrar seu site completamente.

É por isso que recomendamos o WPCode.

O WPCode é o melhor plugin de snippets de código usado por mais de 1 milhão de sites WordPress. Ele facilita adicionar código personalizado no WordPress sem precisar editar o arquivo functions.php.

Dica de Especialista: Aqui no WPBeginner, usamos o WPCode para gerenciar todas as funções personalizadas em nosso portfólio de sites. Ele permite que nossa equipe de desenvolvimento adicione e solucione problemas de código com segurança, sem nunca tocar nos arquivos principais do tema, o que economiza muito tempo e evita erros caros.

A primeira coisa que você precisa fazer é instalar e ativar o plugin gratuito WPCode. Para mais detalhes, veja nosso guia passo a passo sobre como instalar um plugin do WordPress.

Ao ativar, acesse Snippets de Código » Adicionar Snippet.

Como adicionar snippets PHP personalizados ao seu site usando WPCode

Aqui, você verá todos os trechos prontos que você pode adicionar ao seu site. Isso inclui trechos que permitem desativar completamente os comentários do WordPress, desativar páginas de anexo de imagem e muito mais.

Simplesmente passe o mouse sobre ‘Adicionar seu código personalizado’ e, em seguida, selecione ‘Usar trecho’.

Adicionando um trecho de código personalizado ao WordPress

Para começar, digite um título para o snippet de código personalizado. Pode ser qualquer coisa que ajude você a identificar o snippet no painel do WordPress.

Depois disso, abra o menu suspenso ‘Tipo de Código’ e selecione ‘Trecho PHP’.

Restringindo o acesso à biblioteca de mídia usando WPCode

Na área ‘Prévia do código’, você pode colar um dos seguintes trechos de código:

Opção 1: Restringir o Acesso a Arquivos de Mídia para Usuários WordPress Não Administradores

Este código verifica se o usuário atual não é um administrador. Se não for um administrador, ele filtra a biblioteca de mídia para mostrar apenas os arquivos que o próprio usuário carregou.

add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );

function user_show_attachments( $query ) {
    $user_id = get_current_user_id();
    // Check if the current user is not an administrator
    if ( $user_id && !current_user_can('administrator') ) {
        $query['author'] = $user_id;
    }
    return $query;
}

Isso significa que usuários regulares só podem ver e gerenciar seus próprios arquivos de mídia, enquanto administradores ainda podem ver e gerenciar todos os arquivos.

Opção 2: Restringir o Acesso a Arquivos de Mídia para Usuários WordPress Sem Permissões de Edição de Postagem

Este código é perfeito se você quiser que Editores e Administradores gerenciem todos os arquivos de mídia, enquanto restringe Autores e Colaboradores apenas aos seus próprios uploads.

add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );
 
function user_show_attachments( $query ) {
    $user_id = get_current_user_id();
    // Checks if the current user is logged in (i.e., $user_id is not 0) and does not have the capabilities to activate plugins or edit others' posts.
    if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
        $query['author'] = $user_id;
    }
    return $query;
} 

Ele funciona verificando se um usuário tem a permissão edit_others_posts, que é uma capacidade que Editores têm por padrão, mas Autores não.

Em seguida, role até a seção ‘Inserção’. O WPCode pode adicionar seu código a diferentes locais, como após cada postagem, apenas no front-end ou apenas no admin.

Para usar o código PHP personalizado em todo o seu site WordPress, clique em ‘Inserir Automaticamente’ se ainda não estiver selecionado. Em seguida, abra o menu suspenso ‘Localização’ e escolha ‘Executar em Todos os Lugares’.

Executando código PHP personalizado em todo o seu site usando WPCode

Depois disso, você está pronto para rolar até o topo da tela e clicar no alternador ‘Inativo’ para que ele mude para ‘Ativo’.

Finalmente, clique em ‘Salvar Snippet’ para tornar o snippet PHP ativo.

Como restringir o acesso a arquivos de mídia usando código

Agora, os usuários terão acesso apenas aos arquivos que carregarem na biblioteca de mídia do WordPress.

Perguntas Frequentes

Aqui estão algumas das perguntas mais comuns que recebemos sobre a organização de uploads de mídia no WordPress.

É seguro adicionar código personalizado ao meu site WordPress?

Adicionar código diretamente ao arquivo functions.php do seu tema pode ser arriscado. Um pequeno erro de digitação ou um erro pode causar problemas ou até mesmo tornar seu site inacessível.

É por isso que recomendamos fortemente o uso do plugin WPCode. Ele cria uma camada segura para adicionar snippets, para que você não precise se preocupar em quebrar nada.

Isso afetará o desempenho do meu site?

De forma alguma. O snippet de código que fornecemos é muito leve e roda eficientemente.

Ele apenas adiciona uma verificação simples quando um usuário acessa a biblioteca de mídia, portanto, não diminuirá a velocidade do seu site para seus visitantes.

Posso restringir o acesso à mídia para funções de usuário específicas?

Sim, com certeza! O código pode ser facilmente personalizado para atingir uma função de usuário específica. Por exemplo, se você quisesse que essa restrição se aplicasse apenas a usuários com a função de 'Autor', você poderia usar este snippet em vez disso:

add_filter( 'ajax_query_attachments_args', 'author_only_show_attachments' );

function author_only_show_attachments( $query ) {
    $user = wp_get_current_user();
    // Check if the current user has the 'author' role
    if ( in_array( 'author', (array) $user->roles ) ) {
        $query['author'] = $user->ID;
    }
    return $query;
}

Saiba Mais Maneiras de Gerenciar Arquivos do WordPress

Além de restringir uploads de mídia no WordPress, você também pode conferir os guias abaixo para gerenciar melhor seus arquivos:

Esperamos que este artigo tenha ajudado você a organizar melhor os uploads de mídia por usuários em seu site WordPress. Em seguida, você pode conferir nossas seleções de especialistas dos melhores plugins de slider para WordPress e nosso guia sobre como carregar imagens lentamente facilmente no WordPress.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

9 CommentsLeave a Reply

  1. Eu realmente gosto de todos os seus tutoriais, parabéns para você.
    Embora eu não consiga usar para construir algo por falta de recursos, você está DE PARABÉNS

  2. Eu gostaria que os usuários pudessem enviar conteúdo e, depois de aprovado, ele fosse para uma nova página. O usuário poderia então editá-lo quando estivesse lá.

    Pense, de forma semelhante a como o Airbnb permite que os usuários enviem fotos e descrições de suas casas de férias, e isso aparece em uma página.

    você conhece algum plugin para essa funcionalidade?

  3. A única coisa que eu realmente (!) gostaria de ver na biblioteca de mídia seria a capacidade de pesquisar mídia por post e/ou data de upload. Toda vez que preciso reutilizar uma imagem que enviei para um post muito antigo, é doloroso encontrá-la novamente. Às vezes, simplesmente desisto e a envio novamente…

  4. senhor, eu quero projetar uma página do wordpress onde o usuário enviará alguns documentos com os seguintes campos (nome, e-mail, título, resumo e upload de arquivo) após o envio, ele deve aparecer no painel e quando o administrador aprovar, ele deve ser exibido na página (toda a lista de detalhes de upload que foi aprovada pelo administrador), é possível,

    obrigado antecipadamente!!!

Deixar uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.