comment télécharger et autoriser les téléchargements de formats .mobi et .epub

10

J'ai des produits téléchargeables à vendre.

J'ai créé des métadonnées personnalisées pour contenir les données de fichier dont j'ai besoin, cela me permet de télécharger correctement dans les métadonnées personnalisées les fichiers .doc et .pdf ...

Cependant, lorsque j'essaie de télécharger un .mobi et un .epub - il ne télécharge pas les fichiers ...

Je pense que je vais également rencontrer des problèmes lorsque j'essaie de suivre le lien de téléchargement pour télécharger les fichiers également - mais je traverserai ce pont lorsque j'y arriverai.

Toute aide à ce sujet serait fantastique.

Michael Stott
la source

Réponses:

10

En supposant que vous utilisez le téléchargeur natif de médias WordPress, vous pouvez utiliser le upload_mimescrochet de filtre pour ajouter ou supprimer des types de fichiers autorisés, par exemple:

function custom_myme_types($mime_types){

    //Adding avi extension
    $mime_types['avi'] = 'video/avi'; 

    //Removing the pdf extension
    unset($mime_types['pdf']); 

    return $mime_types;
}

add_filter('upload_mimes', 'custom_myme_types', 1, 1);

Vous pouvez voir que pour ajouter un type de fichier que vous venez d'ajouter au tableau avec l'extension de fichier comme clé et le type mime comme valeur, le type MIME pour le fichier au format .mobi est application/x-mobipocket-ebooket pour le format .epub estapplication/epub+zip

Bainternet
la source
5
Je voudrais également ajouter à la réponse de Bainternet que si vous utilisez Apache par exemple, il peut ne pas connaître les extensions de fichier .mobi / .epub et leurs types de mime correspondants. Si vous obtenez un fichier introuvable lorsque vous essayez d'afficher le fichier, vous devrez peut-être ajouter les types MIME au serveur. Pour Apache, vous pouvez le faire en utilisant votre fichier htaccess et ajouter quelque chose comme ceci:AddType application/x-shockwave-flash swf
Brady
Merci, j'ai essayé d'ajouter le code ci-dessus à mon thème functions.php et il commence à dire que les en-têtes sont déjà envoyés. J'utilise Apache et j'ai déjà modifié mon fichier .htaccess.
Michael Stott
Je dis un mensonge, je semble l'avoir fait fonctionner. Excellent.
Michael Stott
Heureux que vous l'ayez fait fonctionner
Bainternet