Montag, 17. August 2015

Wordpress: ePub und Mobi zum Download anbieten

Wordpress ist inzwischen wohl eines der am häufigsten genutzten Tools von Autoren, um ihre Seiten zu erstellen.
Das hat gute Gründe: es ist leicht zu installieren und einzurichten, der laufende Betrieb mit Artikeln und Seiten lässt sich übersichtlich gestalten, durch Themes kann man der eigenen Seite schon einen gewissen eigenen Charakter verleihen, und durch Plugins lässt sich die Seite gut an die eigenen Bedürfnisse anpassen.

Nur eines macht Wordpress uns als Autoren alles andere als leicht:
ePub- oder Mobi-Dateien zum Download anzubieten.

Ich rede dabei nicht über einen integrierten Shop, in den man Downloads anbieten kann - da gibt es Lösungen.
Es geht um eBooks, die man gratis anbieten und in einen Artikel einbauen möchte. Sei es als Geschenk oder als Leseprobe.

Nutzt man intuitiv die Mediathek, um die Dateien hinzuzufügen, erhält man folgende Warnung:


Die Ursache ist, dass Wordpress als Standardeinstellung nur gewisse Dateiformate erlaubt. Im Prinzip eine gute Sicherheitsvorkehrung, nur gibt es leider keinen Punkt in den Einstellungen, mit dem man weitere Dateiformate auf einfache Weise hinzufügen kann.

Es gibt den klassischen Weg, durch die "Hintertür" per FTP. Nur nutzt man ja eigentlich Wordpress, um sich damit nicht mehr herumplagen zu müssen. Man legt einen Ordner an, merkt sich den Dateipfad und fügt diesen in einen Artikel ein.

Geht. Aber komfortabel ist das nicht.

Lösen lässt sich das Problem am schnellsten, indem man seinem Theme "beibringt", dass es weitere Dateiformate zulassen soll - das heißt natürlich auch: wechselt man das Theme, muss man es dem neuen ebenso beibringen.

Die Vorgaben, welche Dateiformate erlaubt sind, werden über die Datei "functions.php" gesteuert.
Um diese zu finden, geht man im Menü über "Design" > "Editor" und sucht in der Auflistung rechts die Datei. Sie ist mitunter auch mit "Theme Functions" betitelt.

Mit einem Klick wird der Code der Datei im Hauptfenster angezeigt. Nun fügt man am besten unterhalb des bereits vorhandenen Codes folgende Zeilen ein (ihr könnt sie hier direkt rauskopieren):

function addUploadMimes($mimes) {

$mimes = array_merge($mimes, array(

'epub|mobi' => 'application/octet-stream'

));

    return $mimes;

}

add_filter('upload_mimes', 'addUploadMimes');

Ihr könnt die Zeile mit 'epub|mobi' auch jederzeit erweitern, um z.B. auch PDFs anzubieten, dann zu 'epub|mobi|pdf'. Oder irgendeinem anderen Dateiformat.

Unten auf "Datei aktualisieren" klicken, die Mediathek aufrufen, dann sollte der Upload klappen. :)


Jetzt lassen sie sich jedem Artikel hinzufügen. Der Dateiname wird direkt verlinkt.


Ein Iconbild wird nicht angezeigt. Das lässt sich aber jederzeit hochladen und dann mit der Datei verlinken. Das könnt ihr dann ja auch bei weiteren eBooks als Bild aus der Mediathek abrufen.
___

Wichtig:
Bei Änderungen in PHP-Dateien kann immer was schief gehen. Macht also vorher ein Backup eurer Wordpress-Dateien, bevor ihr den Code reinkopiert!

Kommentare:

  1. Ich hatte genau dieses Problem!
    Ich habe dann bei Wordpress im Forum nachgefragt und ein User hat mir dann diesen Link gegeben. Habe es gemäß dieser Anleitung eingefügt und es klappt wunderbar. Vielen, vielen Dank dafür.

    AntwortenLöschen
    Antworten
    1. Schön zu sehen, dass das auch bei anderen reibungslos klappt. :)

      Löschen
  2. Mir hat es auch heute sehr geholfen und klappt super. Vielen dank! Kristina

    AntwortenLöschen
  3. Na super, bis Ende letzte Jahres konnte ich epub und mobi ohne Probleme hochladen. Jetzt nicht mehr. Ich habe dne hier vorgeschlagenen Code in die functions.php eingefügt und es funktioniert... NICHT!

    AntwortenLöschen
    Antworten
    1. Danke für die Info. Ich probiere das selbst die nächsten Tage.
      Da kann es durch eine neue Wordpress-Version schnell zu ungewünschten Umstellungen im Code kommen.

      Löschen