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

Depois de administrar um blog com vários autores durante anos, descobrimos que há situações em que é importante organizar os uploads de mídia por usuário. De acordo com nossa experiência, à medida que sua equipe de colaboradores cresce, aumenta também o potencial de caos no gerenciamento de mídia.

Encontramos situações em que os autores modificaram ou excluíram acidentalmente as imagens uns dos outros, o que resultou em postagens incompletas. Em um caso, um clique equivocado resultou na exclusão de uma imagem importante, causando um atraso na publicação de um artigo importante.

Para evitar isso, você pode restringir ou organizar os uploads de mídia por usuários no WordPress. Esse recurso não é oferecido por padrão, portanto, mostraremos nossa maneira de fazer isso.

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.

Como organizar uploads de mídia por usuários com o WPCode

Naquela época, encontramos um plug-in que podia ser usado para impedir que usuários sem permissões de pós-edição acessassem os arquivos de outros usuários na biblioteca de mídia do WordPress. Embora esse plug-in fosse fácil de usar, ele não é mais atualizado.

Além disso, o plug-in pode ser bastante limitado, pois você só pode 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. Isso inclui snippets que permitem desativar completamente os comentários do WordPress, desativar páginas de anexos de imagens 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;
}

Esse 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.

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

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

Esse código é um pouco mais específico. Ele verifica se o usuário atual está conectado e não tem permissão para ativar plug-ins ou editar as publicações de outras pessoas. Se um usuário atender a essas condições, ele só poderá ver e gerenciar seus próprios arquivos de mídia.

Isso permite que os administradores e editores vejam todos os arquivos, enquanto os autores e colaboradores só podem acessar seus próprios uploads.

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.

Saiba mais maneiras de gerenciar arquivos do WordPress

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

Esperamos que este artigo tenha ajudado a organizar melhor os uploads de mídia pelos usuários em seu site do WordPress. Em seguida, você pode conferir nossas escolhas de especialistas dos melhores plug-ins de controle deslizante do WordPress e nosso guia sobre como fazer o carregamento lento de imagens com facilidade no 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

    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

    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

    • WPBeginner Support

      Glad our tutorials are helpful :)

      Administrador

  3. Teddu

    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

    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

    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!!!

  6. Tony Franco

    Very nice! Thank you!! :)

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.