Hochladen und Zulassen von Downloads der Formate .mobi und .epub

10

Ich habe herunterladbare Produkte zum Verkauf.

Ich habe benutzerdefinierte Meta-Boxen erstellt, um die von mir benötigten Dateidaten aufzunehmen. Dadurch kann ich die DOC- und PDF-Dateien problemlos in das benutzerdefinierte Meta hochladen.

Wenn ich jedoch versuche, eine .mobi und eine .epub hochzuladen, werden die Dateien nicht hochgeladen ...

Ich vermute, dass ich auch auf Probleme stoßen werde, wenn ich versuche, dem Download-Link zu folgen, um auch die Dateien herunterzuladen - aber ich werde diese Brücke überqueren, wenn ich dazu komme.

Jede Hilfe dazu wäre fantastisch.

Michael Stott
quelle

Antworten:

10

Angenommen, Sie verwenden den nativen WordPress-Medien-Uploader, können Sie den upload_mimesFilter-Hook verwenden, um zulässige Dateitypen hinzuzufügen oder zu entfernen, zum Beispiel:

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);

Sie können sehen, dass Sie zum Hinzufügen eines Dateityps dem Array nur die Dateierweiterung als Schlüssel und den MIME-Typ als Wert hinzufügen, den der MIME-Typ für die Datei im Mobi-Format application/x-mobipocket-ebookund für das .epub-Format hatapplication/epub+zip

Bainternet
quelle
5
Außerdem möchte ich zu Bainternets Antwort hinzufügen, dass wenn Sie beispielsweise Apache verwenden, es möglicherweise nicht über die Dateierweiterungen .mobi / .epub und die entsprechenden MIME-Typen Bescheid weiß. Wenn beim Anzeigen der Datei eine Datei nicht gefunden wird, müssen Sie möglicherweise die MIME-Typen zum Server hinzufügen. Für Apache können Sie dies mit Ihrer htaccess-Datei tun und Folgendes hinzufügen:AddType application/x-shockwave-flash swf
Brady
Vielen Dank, ich habe versucht, den obigen Code zu meiner theme functions.php hinzuzufügen, und es wird angezeigt, dass bereits Header gesendet wurden. Ich verwende Apache und habe meine .htaccess-Datei bereits geändert.
Michael Stott
Ich lüge, ich scheine es zum Laufen gebracht zu haben. Ausgezeichnet.
Michael Stott
Ich bin