Essa coisa que você está dizendo não é desejada é apenas uma funcionalidade normal no WordPress e não pode ser removida. No entanto, existem coisas que você pode fazer para apontar o URL indesejado para algo mais útil.
Aqui está uma postagem no fórum sobre esse problema com algumas correções interessantes e uma descrição do que está acontecendo:
Anexos são, na verdade, um tipo de postagem, então eles ocupam uma linha na tabela de postagens como uma postagem, eles sempre terão uma URL disponível, da mesma forma que as postagens para ..
ie.
example.com/?p=16
16 é o ID do post e, assim como as postagens, sempre estarão disponíveis por um URL como o acima. Os arquivos de mídia não são simplesmente considerados arquivos, eles têm mais conteúdo como elemento para eles, pois eles têm um registro na tabela de publicações que corresponde a eles, assim como um post ou uma página.
O que você está perguntando é como parar a existência automática de URLs de anexos individuais para cada item de mídia (isso não é realmente possível porque eles são basicamente um tipo de postagem, o que significa que sempre serão um URL para eles). / p>
Aqui está uma sugestão, pegue qualquer arquivo de template (tema), index.php, page.php, archive.php ou o que você quiser, crie uma cópia e renomeie para image.php ou attachment.php se você quiser segmentar todas as mídias. Abra o arquivo, remova o loop, salve ... e carregue uma das páginas de anexo (como a que você forneceu antes).
Meu ponto de vista, tudo que você precisa fazer é criar um arquivo de modelo de anexo: enlace
enlaceSe você quisesse, teoricamente, poderia inserir um redirecionamento no modelo de anexo para redirecionar as visualizações de anexos individuais (ou qualquer outra coisa que você queira fazer).
Alguém postou apenas isso, um attachment.php
que entra na sua pasta /themes
para redirecionar:
<?php
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.get_permalink($post->post_parent));
?>