De jolies URL pour les téléchargements de fichiers?

9

Les fichiers tels que les PDF peuvent-ils être téléchargés vers des URL personnalisées? Je voudrais télécharger un fichier PDF au www.example.com/whitepapers/pdf.pdflieu de www.example.com/wp-uploads/....

J'ai trouvé un plugin appelé WP Easy Uploader qui semble correct, mais je voulais vérifier s'il existe d'autres solutions.

Une solution que j'envisageais est de traiter le PDF comme une page afin de pouvoir attribuer une page parent au PDF. Cela gérera toutes les redirections au cas où l'URL de la page parent serait modifiée.

MISE À JOUR - Ne plus considérer WP Easy Uploader car je ne veux pas avoir d'accès FTP depuis une installation Wordpress pour des raisons de sécurité.

Matthew Xerri
la source

Réponses:

2

Les pièces jointes en général (images, mais aussi des fichiers comme les PDF) ont une "page de pièce jointe" spéciale du formulaire example.com/main-post/attachment/file-title/. Dans la plupart des thèmes, cela est utilisé pour afficher une version plus grande de l'image, toujours dans la disposition du thème (il renvoie donc un fichier HTML contenant l'image, pas directement l'image).

Vous pouvez exploiter cela en créant un fichier modèle qui sert le fichier directement, au lieu de simplement l'afficher. Ensuite, si vous créez une page example.com/whitepapers/avec une pièce jointe appelée file.php, l'URL du fichier sera example.com/whitepapers/attachment/file.

Vous auriez besoin de créer un fichier dans votre répertoire de thème appelé soit attachment.php(si vous voulez le faire pour toutes les pièces jointes) ou application.php(si vous voulez le faire uniquement pour les fichiers avec un type MIME comme application/*). Dans ce fichier, vous obtenez l'emplacement du fichier joint et ensuite readfile()le navigateur. Je suppose qu'il existe déjà des plugins qui peuvent le faire pour vous.

Jan Fabry
la source
va y réfléchir et essayer certaines choses. Merci pour l'astuce
Matthew Xerri
J'y repensais et j'ai 2 questions: 1) Si je joins un fichier de livres blancs à une page différente, j'ai 2 URL pour le même fichier qui n'est pas aussi convivial pour le référencement 2) Le fichier lui-même n'aurait pas d'URL mais juste une URL selon qu'elle est jointe ou non. Droite?
Matthew Xerri
@thearchitect: Si vous créez un lien vers le même fichier à partir d'une page différente, il aura la même URL (comme lorsque vous utilisez la même image dans deux pages différentes). Si le fichier n'a pas été joint à un message, il aura toujours une URL (générique), mais je devrais rechercher ce qu'il était alors. Vous pouvez modifier l'URL de la pièce jointe afin qu'elles apparaissent toutes comme /media/si vous le vouliez.
Jan Fabry
@Jan Votre solution nécessite-t-elle que je crée une page vide pour chaque fichier multimédia? De plus, je ne peux pas spécifier de chemins différents pour différentes catégories de supports comme celle-ci. Voici le scénario que j'aimerais. Je veux télécharger un PDF, définir une catégorie pour ce PDF (qui n'est pas pertinent pour le message / la page auquel il est attaché) et avoir une URL créée pour ce PDF comme example.com/CATEGORY/FILENAME.pdf
Matthew Xerri
@thearchitect: Cela devrait être possible avec certaines règles de réécriture avancées (lire: pas avec le code "core" de WordPress). Laissez-moi y réfléchir et je vais essayer de revenir avec une réponse.
Jan Fabry
2

MISE À JOUR : Catégories de médiathèques trouvées qui trient les médias par catégories personnalisées. Tout ce dont j'ai besoin maintenant, c'est d'un plugin similaire pour ajouter cette catégorie à l'URL afin que je puisse effectuer des réécritures d'URL et obtenir ce dont j'ai besoin!


Trouvé quelques plugins.

Relocaliser le téléchargement vous permet de télécharger vers n'importe quel dossier, puis d'avoir une liste déroulante lors du téléchargement du média pour placer ce nouveau média dans vos emplacements personnalisés. Cela semble correct, mais les fichiers sont placés dans des dossiers physiques réels. Il serait préférable qu'il puisse télécharger quoi que ce soit dans un dossier de contenu et le «dossier» utilisé dans le lien ne serait qu'un permalien. De plus, cela n'a pas bien fonctionné sur une installation locale rapide. Il a continué d'essayer d'accéder à C: \ wamp \ www ... au lieu de http: // localhost /

Le répertoire de téléchargement personnalisé vous permet de télécharger dans des répertoires personnalisés, mais cela ne répondait pas à mes exigences.

À propos de WP Easy Upload - Je ne veux pas l'utiliser car je ne veux pas donner accès FTP à un plugin dans l'installation pour des raisons de sécurité.

Matthew Xerri
la source
1

Solution n ° 1 Vous pouvez modifier votre chemin d'accès aux médias. Allez dans Paramètres-> Médias Changer par défaut "wp-content / uploads" en "whitebooks" bien sûr si vous téléchargez autre que des livres blancs, cette solution ne fonctionnera pas si bien.

Solution # 2 Utilisez Pretty Link pour personnaliser votre chemin d'accès J'utilise Pretty Links depuis que j'utilise WordPress; quelques années maintenant.

Surtout pour simplifier les chemins d'accès aux fichiers.

Vous pouvez mapper "abc.com/whitepaper/file.pdf" dans "abc.com/wp-content/uploads/file.pdf"

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

mrwes
la source
Merci pour le conseil. Je suppose qu'avec ce plugin, je devrais créer une jolie URL après chaque téléchargement, n'est-ce pas?
Matthew Xerri
@thearchitect - oui, c'est un plugin, vous devez créer une URL pour chaque téléchargement. La bonne chose est que vous pouvez mapper n'importe quelle jolie URL dans n'importe quelle URL de votre site ou d'un site externe. c'est à dire. mrwes.net/linkedin
mrwes
Je pense que le plugin crée trop de surcharge car il exécute javascript, le suivi, etc. Nous avons déjà la plupart de ses fonctionnalités en place. Nous avons juste besoin de quelque chose pour mieux organiser les téléchargements
Matthew Xerri