Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

Nota editorial: Ganhamos uma comissão de links de parceiros no WPBeginner. As comissões não afetam as opiniões ou avaliações de nossos editores. Saiba mais sobre Processo editorial.

Deseja organizar os uploads de mídia por usuário no WordPress?

Se você administra um site com vários autores, talvez queira impedir que os usuários acessem os arquivos de mídia de outras pessoas. Dessa forma, você pode garantir que os autores não excluam acidentalmente as imagens uns dos outros.

Neste artigo, mostraremos como organizar os uploads de mídia por usuários no WordPress.

How to organize media uploads by users in WordPress

Por que restringir o acesso do autor a uploads de mídia?

Se você tiver um blog WordPress com vários autores, seus autores poderão fazer upload de muitas imagens diferentes. Isso pode dificultar que um autor encontre a imagem certa, ou ele pode excluir ou editar o arquivo de mídia de outra pessoa por acidente.

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

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

Se você tiver um site de associação do WordPress, os colaboradores poderão até mesmo acessar arquivos de mídia premium por meio da biblioteca de mídia.

Dito isso, vamos dar uma olhada em como restringir quem pode ver os uploads de mídia dentro da área de administração do WordPress. Basta usar os links rápidos abaixo para ir direto ao método que você deseja usar:

Método 1: Organização de uploads de mídia por usuários com um plug-in (rápido e fácil)

A maneira mais fácil de restringir o acesso aos uploads de mídia é usar o plug-in Frontier Restrict Access. Esse plug-in gratuito verifica se um usuário tem a permissão edit_others_posts, que lhe permite editar as postagens de outro usuário.

Por padrão, o WordPress concede esse recurso a todos que têm a função de administrador ou editor do site. Se quiser alterar isso, você pode adicionar ou remover recursos das funções de usuário no WordPress.

Se o usuário não tiver a permissão edit_others_posts, esse plug-in o impedirá de acessar os arquivos de outros usuários na biblioteca de mídia do WordPress. Isso permite organizar os uploads de mídia por usuários sem restringir o acesso de administradores e editores.

Esse plug-in funciona imediatamente e não há configurações a serem definidas, portanto, basta instalar e ativar o plug-in Frontier Restrict Access. Para obter mais detalhes, consulte nosso guia sobre como instalar um plug-in do WordPress.

Observação: você pode notar que o plug-in não foi testado com as versões mais recentes do WordPress. Dito isso, nós mesmos o testamos e ele funciona bem para este tutorial.

Você pode ler nosso artigo sobre se deve usar plug-ins não testados do WordPress se tiver alguma dúvida. Se você encontrar plug-ins mais recentes que funcionem melhor para essa finalidade, informe-nos nos comentários.

Método 2: organização de uploads de mídia por usuários com código (mais personalizável)

O primeiro método é rápido e fácil. Dito isso, ele pode ser bastante limitado, pois só é possível impedir que usuários sem a permissão edit_others_posts (administradores e editores do site) acessem os arquivos de mídia de outros usuários.

Se você for administrador de um site, talvez queira limitar o acesso de todos os usuários (exceto você) aos arquivos de mídia de outras pessoas.

Nesse caso, você pode adicionar um código personalizado ao seu blog do WordPress. Mostraremos dois trechos de código: um que restringe o acesso a arquivos de mídia para usuários não administradores e outro para usuários sem a permissão edit_others_posts.

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

É por isso que recomendamos o WPCode.

O WPCode é o melhor plug-in de snippets de código usado por mais de 1 milhão de sites do WordPress. Ele facilita a adição de código personalizado no WordPress sem a necessidade de editar o arquivo functions.php.

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

Após a ativação, vá para Code Snippets ” Add Snippet.

How to add custom PHP snippets to your site using WPCode

Aqui, você verá todos os snippets prontos que pode adicionar ao seu site. Eles incluem snippets que permitem desativar completamente os comentários do WordPress, fazer upload de arquivos que o WordPress não suporta por padrão e muito mais.

Basta passar o mouse sobre “Add Your Custom Code” e selecionar “Use snippet”.

Adding a custom code snippet to 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 a lista suspensa “Code Type” (Tipo de código) e selecione “PHP Snippet”.

Restricting access to the media library using WPCode

Na área “Code Preview” (Visualização de 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 não administradores do WordPress

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;
}

Opção 2: Restringir o acesso a arquivos de mídia para usuários do WordPress sem permissões de edição de posts

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;
} 

Em seguida, basta rolar até a seção “Inserção”. O WPCode pode adicionar seu código em diferentes locais, como depois de cada publicação, somente no front-end ou somente no administrador.

Para usar o código PHP personalizado em todo o seu site WordPress, clique em “Auto Insert” (Inserção automática) se ainda não estiver selecionado. Em seguida, abra o menu suspenso “Location” (Localização) e escolha “Run Everywhere” (Executar em todos os lugares).

Running custom PHP code across your website using WPCode

Depois disso, você está pronto para rolar até a parte superior da tela e clicar no botão de alternância “Inactive” (Inativo) para que ele mude para “Active” (Ativo).

Por fim, clique em “Save Snippet” (Salvar snippet) para ativar o snippet PHP.

How to restrict access to media files using code

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

Esperamos que este artigo tenha ajudado a organizar melhor os uploads de mídia pelos usuários em seu site do WordPress. Em seguida, confira nosso guia definitivo de segurança do WordPress ou veja nossa seleção especializada dos melhores plug-ins de formulário de contato para WordPress.

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

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

O kit de ferramentas definitivo WordPress

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

Reader Interactions

10 ComentáriosDeixe uma resposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Joshua Owolabi says

    I really enjoy all your tutorials kudos to you.
    Although I am unable to use to build something due to lack of resources but you are WELDONE

  3. Teddu says

    I would like users to be able to upload content, and once its approved go onto a new page. the user could then edit it once it is there.

    Think, similar how airbnb let users upload photos and descriptions of their holiday homes, and it appears in a page.

    do you know a plug in for this functionality?

  4. fredtgorski says

    The one thing I would really(!) love to see on media library would be the ability to search media per post and/or date of upload. Every time I need to reuse an image I uploaded for a very old post, it is painfull to find it again. Sometimes I simply give up and reupload it…

  5. agsm says

    sir , i want to design a wordpress page where user will upload some documents with following feilds (name,e-mail,title,summary and file upload) after submit , it should appear in dashboard and when admin approve it should be show on page (all listing of upload details which has been approved by admin ) , its possible,

    thanks in advance!!!

Deixe uma resposta

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