URLs bonitos para uploads de arquivos?

9

Arquivos como PDFs podem ser enviados para URLs personalizados? Gostaria de fazer upload de um PDF para, em www.example.com/whitepapers/pdf.pdfvez de www.example.com/wp-uploads/....

Eu encontrei um plugin chamado WP Easy Uploader que parece OK, mas eu queria verificar se existem outras soluções.

Uma solução que eu estava pensando é ter o PDF tratado como uma página para que eu possa atribuir uma página pai ao PDF. Isso manipulará qualquer redirecionamento caso o URL da página pai seja alterado.

ATUALIZAÇÃO - Não considerando mais o WP Easy Uploader, já que não quero ter acesso via FTP a partir de uma instalação do Wordpress por motivos de segurança.

Matthew Xerri
fonte

Respostas:

2

Os anexos em geral (imagens, mas também arquivos como PDFs) possuem uma "página de anexo" especial do formulário example.com/main-post/attachment/file-title/. Na maioria dos temas, isso é usado para exibir uma versão maior da imagem, ainda no layout do tema (para que ele retorne um arquivo HTML com a imagem, e não a imagem diretamente).

Você pode explorar isso criando um arquivo de modelo que serve o arquivo diretamente, em vez de apenas exibi-lo. Então, se você criar uma página example.com/whitepapers/com um anexo chamado file.php, a URL do arquivo será example.com/whitepapers/attachment/file.

Você precisaria criar um arquivo em seu diretório de temas chamado attachment.php(se você quiser fazer isso para todos os anexos) ou application.php(se você quiser fazer isso apenas para arquivos com um tipo mime como application/*). Nesse arquivo, você obtém o local do arquivo de anexo e, em seguida readfile(), o navegador. Eu acho que já existem plugins por aí que podem fazer isso por você.

Jan Fabry
fonte
vai pensar um pouco sobre isso e experimentar algumas coisas. Obrigado pela dica
Matthew Xerri
Eu estava pensando sobre isso novamente e tenho 2 perguntas: 1) Se eu anexar um arquivo de Whitepapers a uma página diferente, tenho 2 URLs para o mesmo arquivo que não são tão amigáveis ​​com o SEO 2) O arquivo em si não teria um URL mas apenas um URL, dependendo se está anexado ou não. Direita?
Matthew Xerri
@ pesquisador: se você criar um link para o mesmo arquivo de uma página diferente, ele terá o mesmo URL (como quando você usa a mesma imagem em duas páginas diferentes). Se o arquivo não tiver sido anexado a uma postagem, ele ainda terá um URL (genérico), mas eu precisaria procurar o que era na época. Você pode alterar o URL do anexo para que todos apareçam como /media/você deseja.
Jan Fabry
@ Jan Sua solução exige que eu crie uma página vazia para cada arquivo de mídia? Também não posso especificar caminhos diferentes para diferentes categorias de mídia como esta. Aqui está o cenário que eu gostaria. Desejo fazer upload de um PDF, definir uma categoria para esse PDF (que é irrelevante para a postagem / página à qual ele está anexado) e ter um URL criado para esse PDF, como example.com/CATEGORY/FILENAME.pdf
Matthew Xerri
@ pesquisador: Isso deve ser possível com algumas regras avançadas de reescrita (leia-se: não com o código "principal" do WordPress). Deixe-me pensar sobre isso e tentarei voltar com uma resposta.
Jan Fabry
2

UPDATE : Categorias da biblioteca de mídia encontradas que classificam a mídia por categorias personalizadas. Tudo o que preciso agora é que um plug-in semelhante adicione essa categoria à URL, para que eu possa reescrever a URL e obter o que preciso!


Encontrei alguns plugins.

Realocar Upload permite que você faça o upload para qualquer pasta e tenha uma lista suspensa ao fazer upload de mídia para colocar essa nova mídia em seus locais personalizados. Parece bom, mas os arquivos são colocados em pastas físicas reais. Seria melhor se ele pudesse enviar algo em uma pasta de conteúdo e a 'pasta' usada no link fosse apenas um link permanente. Também não funcionou bem em uma instalação rápida de host local. Ele continuou tentando acessar C: \ wamp \ www ... em vez de http: // localhost /

O Diretório de upload personalizado permite que você faça o upload em diretórios personalizados, mas isso não atendeu aos meus requisitos.

Sobre o WP Easy Upload - Não quero usá-lo, pois não quero conceder acesso ao FTP a nenhum plug-in dentro da instalação por motivos de segurança.

Matthew Xerri
fonte
1

Solução # 1 Você pode alterar seu caminho de mídia. Vá para Configurações-> Mídia Altere o padrão "wp-content / uploads" para "whitepapers", é claro, se você enviar outro que não seja whitepapers, esta solução não funcionará tão bem.

Solução # 2 Use o Pretty Link para personalizar seu caminho Eu uso o Pretty Links desde que uso o WordPress; alguns anos agora.

Principalmente para simplificar os caminhos dos arquivos.

Você pode mapear "abc.com/whitepaper/file.pdf" em "abc.com/wp-content/uploads/file.pdf"

http://blairwilliams.com/pretty-link/

mrwes
fonte
Obrigado pela dica. Eu estou supondo que, com este plugin, eu precisaria criar uma URL bonita após cada upload, certo?
Matthew Xerri
@ pesquisador - sim, este é um plug-in, você precisa criar um URL para cada upload. O bom é que você pode mapear qualquer URL Pretty em qualquer URL do seu site ou de um site externo. ie mrwes.net/linkedin
mrwes
Acho que o plug-in cria uma sobrecarga demais, pois executa javascript, rastreamento etc. Já temos a maior parte de sua funcionalidade. Nós só precisamos de algo para melhor organizar os envios
Matthew Xerri