# Bloquear download

**URL:** <https://tainacan.discourse.group/t/bloquear-download/2397>\
**Category:** Dúvidas\
**Created:** [Maio 9, 2025, 4:50pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397 "2025-05-09T16:50:36Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 9, 2025, 4:50pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/1 "2025-05-09T16:50:36Z")

</div>

Boa tarde! Gostaria de saber se seria possível bloquear os áudios de uma coleção? Gostariamos de permitir somente a reprodução.

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Maio 9, 2025, 5:12pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/2 "2025-05-09T17:12:50Z")

</div>

Olá @Joao_Luiz_Solano_Cardia, tudo bem?

Você pode dificultar um pouco o download desabilitando botão de download na galeria de mídias (algo que temas como o Tainacan Interface o Blocksy com o plugin de integração oferecem através do menu personalizar). Porém isso não impedirá os usuários um pouco mais experientes de clicarem com o botão direito no player de áudio e fazer o download mesmo assim.

Isso é uma característica padrão da web… se algo está público, você vai poder baixá-la. De certa forma, dar o play para reproduzir já é baixar para o seu computador, ele só está indo para uma pasta temporária que depois é apagada. Por isso não implementamos muita coisa além disso, mas via código sei que tem algumas “gambiarras” que podem ser feitas, tem gente que usa Javascript para esconder este menu de download, o que não resolve exatamente se você souber inspecionar o código pelo próprio navegador.

Outro caminho é subir o áudio para alguma plataforma terceira que faça o streaming da música (como soundcloud, mixcloud). Neste caso na plataforma pode ser que seja possível o bloqueio do download e você vai colocar como documento o link para o conteúdo incorporado da plataforma ao invés do áudio direto no seu site.

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 9, 2025, 6:07pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/3 "2025-05-09T18:07:04Z")

</div>

Boa tarde @ [mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)!

Humm, você poderia me explicar um pouco melhor essa solução do Blocksy, acho que no nosso caso já seria sufuciente.

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Maio 9, 2025, 6:13pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/4 "2025-05-09T18:13:07Z")

</div>

Caso tenha instalados:

- Plugin Tainacan
- Tema Blocksy (ou tema filho do Blocksy)
- Plugin de Suporte Tainacan para o Blocksy

Vá no menu “Personalizar” → “Item de - Nome da sua coleção” → Documentos e anexos" → “Esconder botão de baixar documento”.

Não esqueça de apertar “Publicar” lá em cima para sair do menu Personalizar.

 ![image](https://global.discourse-cdn.com/free1/uploads/tainacan/original/2X/d/d300336f28ed491eb4901543cf806b399e2b6fc0.png)

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 9, 2025, 6:23pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/5 "2025-05-09T18:23:38Z")

</div>

> [@mateus.m.luna](#):
>
> Tema Blocksy

Nós estamos usando o tema do Taicanan, teriamos que parar de usá-lo? Isso teria algum impacto na nossa página?

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Maio 9, 2025, 6:36pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/6 "2025-05-09T18:36:50Z")

</div>

> [@Joao\_Luiz\_Solano\_Cardia](#):
>
> Nós estamos usando o tema do Taicanan, teriamos que parar de usá-lo? Isso teria algum impacto na nossa página?

De maneira alguma, só dei este caminho porque você tinha comentado aqui que queria a solução para o Blocksy:

> [@Joao\_Luiz\_Solano\_Cardia](#):
>
> Humm, você poderia me explicar um pouco melhor essa solução do Blocksy, acho que no nosso caso já seria sufuciente.

Para o tema Tainacan Interface o caminho será similar:  
“Menu Personalizar” → “Página de um item Tainacan” → “Documentos e anexos do item” → Desça até chegar no seguinte checkbox: “Esconder o botão de baixar documento”

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 9, 2025, 6:55pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/7 "2025-05-09T18:55:09Z")

</div>

Eu fui lá e fiz, ele bloqueia a setinha no meio do tocador, mas ele não bloqueia a opção de baxar nos três botôes. Vc saberia a opção via Javascript para esconder este menu de download?

 ![image](https://global.discourse-cdn.com/free1/uploads/tainacan/original/2X/b/b0f484da45be95c6d21afc600f11c1d461d5a9ae.png)

---

<div class="post-metadata">

**Author:** ![erickml](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/erickml/32/2269_2.png) [@erickml](https://tainacan.discourse.group/u/erickml)\
**Post date:** [Maio 9, 2025, 7:16pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/8 "2025-05-09T19:16:13Z")

</div>

Hello @Joao_Luiz_Solano_Cardia

I used thid code to hide the download attribute of the browser. I think it can help you.

```auto
function hide_download() {
    echo '<script type="text/javascript">
        document.addEventListener("DOMContentLoaded", function() {
            var audios = document.getElementsByTagName("audio");
            for (var i = 0; i < audios.length; i++) {
                audios[i].setAttribute("controlsList", "nodownload");
            }
        });
    </script>';
}
add_action('wp_footer', 'hide_download');

```

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 9, 2025, 7:24pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/9 "2025-05-09T19:24:56Z")

</div>

@ [erickml](https://tainacan.discourse.group/u/erickml), Thank you!  
Where do I apply this code?

---

<div class="post-metadata">

**Author:** ![erickml](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/erickml/32/2269_2.png) [@erickml](https://tainacan.discourse.group/u/erickml)\
**Post date:** [Maio 9, 2025, 7:30pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/10 "2025-05-09T19:30:07Z")

</div>

In your file _ **functions.php** _

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Maio 13, 2025, 12:52pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/11 "2025-05-13T12:52:31Z")

</div>

Ive been revisiting this, and I believe there is a more official way for doing it. Internally our media gallery component calls an instance of the Tainacan embed class, which actually use [a WordPress filter](https://developer.wordpress.org/reference/functions/wp_embed_handler_audio/) to create the HTML `<audio>` tag. This means you could do something even more specific like:

```php
add_filter('wp_embed_handler_audio', function($audio, $attr, $url, $rawattr) {
	if ( ! empty( $attr['width'] ) ) {
	     $dimensions = sprintf( 'width="%d" ', (int) $attr['width'] );
    }	
    $audio = sprintf('<audio controls="" controlslist="nodownload" src="%s" %s></audio>', esc_url( $url ), $dimensions);	
    return $audio;
}, 9, 4);

```

You might wanna play with the ‘9’ value there, which is the priority of the filter, maybe 11 instead of 9 since our own code uses 10.

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 13, 2025, 3:07pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/12 "2025-05-13T15:07:22Z")

</div>

> [@mateus.m.luna](#):
>
> ```auto
> add_filter('wp_embed_handler_audio', function($audio, $attr, $url, $rawattr) {
> if ( ! empty( $attr['width'] ) ) {
> $dimensions = sprintf( 'width="%d" ', (int) $attr['width'] );
> }	
> $audio = sprintf('<audio controls="" controlslist="nodownload" src="%s" %s></audio>', esc_url( $url ), $dimensions);	
> return $audio;
> }, 9, 4);
> 
> ```

Olá @ [mateus.m.luna](https://tainacan.discourse.group/t/bloquear-download/2397/11)! Você pode me detalhar mais um pouco onde é realizada essa aplicação, pois como sou leigo preciso passar essas informações para a nossa equipe de TI.

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Maio 13, 2025, 3:12pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/13 "2025-05-13T15:12:37Z")

</div>

Você pode colocá-la no código de um tema, tema filho, plugin… na prática qualquer código que vá ser executado no seu site. Tem alguns plugins que ajudam na inserção de pequenos trechos de código como este:

> **[Code Snippets](https://wordpress.org/plugins/code-snippets/)**
>
> An easy, clean and simple way to enhance your site with code snippets.

Só recomendo usar com cuidado, lembre-se de que qualquer código inserido assim pode ter efeitos colaterais e quebrar coisas no seu site. É importante entender o que o código faz.

A sugestão feita acima de colocar no `functions.php` do código do tema faz sentido eu só complementaria que é melhor fazer isso em um tema filho do que no tema original, pois após atualizações o tema original sobrescreveria sua alteração.

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 13, 2025, 7:06pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/14 "2025-05-13T19:06:11Z")

</div>

@mateus.m.luna , coseguimos aplicar a primeira opção proposta pelo @erickml , funcionou no documento. Porém, nos anexos o botão download permaneceu.

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Maio 13, 2025, 7:18pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/15 "2025-05-13T19:18:34Z")

</div>

> [@Joao\_Luiz\_Solano\_Cardia](#):
>
> Porém, nos anexos o botão download permaneceu.

Possivelmente porque são carregados em momentos diferentes…

Pode tentar o filtro que passei? Se ele não funcionar de imediato, experimente alterar o valor da prioridade.

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 13, 2025, 7:20pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/16 "2025-05-13T19:20:39Z")

</div>

Ok, obrigado! Vou tentar

---

<div class="post-metadata">

**Author:** ![Joao\_Luiz\_Solano\_Cardia](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/joao_luiz_solano_cardia/32/1427_2.png) [@Joao\_Luiz\_Solano\_Cardia](https://tainacan.discourse.group/u/Joao_Luiz_Solano_Cardia)\
**Post date:** [Maio 27, 2025, 6:15pm UTC](https://tainacan.discourse.group/t/bloquear-download/2397/17 "2025-05-27T18:15:36Z")

</div>

Olá @mateus.m.luna, instalamos o filtro e funcionou. Agora o botão download não esta mais aparecendo no documento e anexos. Muito obrigado pela ajuda!
