WordPress & Webwork

WordPress: Upload-Ordner selber bestimmen

Wie man in WordPress den Ordner für die hochgeladenen Dateien selber bestimmen kann.

Dieser Artikel ist als Antwort auf die Frage eines Leser entstanden, der wissen wollte ob und wie man den den Standard-Pfad für die Uploads ändern kann.

Bis WordPress 3.5 konnte man im Adminbereich unter "Einstellungen" → "Mediathek" den Pfad bzw. den Ordner für die hochgeladenen Dateien einstellen:

WordPress 3.4: den Speicherpfad für hochgeladene Dateien bestimmen

Bis WordPress 3.4 konnte man im Admin-Bereich den Upload-Ordner selber bestimmen

So hatte man die Möglichkeit ihm einen aussagekräftigeren Namen zu geben wie der Standard "uploads". Diese Möglichkeit ist seit der WordPress-Version 3.5 nicht mehr gegeben. Seit wird standardmäßig unter /wp-content/uploads/ gespeichert. Trotzdem gibt es natürlich Möglichkeiten trotzdem noch einen individuellen Ordner anzugeben.

Anpassungen in der functions.php

Zum einen kann man dies durch einen Eintrag in der functions.php erreichen.

add_filter( 'pre_option_upload_url_path', 'wpse_77960_upload_url' );

function wpse_77960_upload_url()
{
    return 'http://www.dein-individueller-pfad.xyz/ordner';
}

Damit erscheint die im oberen Bild gezeigte Möglichkeit einen eigenen Ordner oder sogar einen individuellen Pfad anzugeben. In der folgenden Abbildung sieht man die Meidien-Einstellungen einmal ohne und einmal mit dem Code-Schnipsel:

WordPress: individuellen Upload-Ordner bestimmen

Der Nachteil hierbei, ist das diese Anpassung nur für das jeweilige genutzte Theme verfügbar ist. Um das zu ändern kann man allerdings auch das Plugin Code Snippets nutzen.

Anpassungen in der wp-config.php

Eine andere Möglichkeit ist ein Eintrag in der wp-config.php:

define('UPLOADS', 'wp-content/meinebilder');

Dieser Eintrag muss allerdings vor der Festlegung der absoluten Pfade

if ( !defined('ABSPATH') )  ...

erfolgen, also in dem Bereich, der zum anpassen freigegeben ist.

Nimmt man die Zeile wie im Beispiel werden denn alle Bilder in dem Ordner meinebilder gespeichert. Im Backend, also bei den Medien-Einstellungen sieht man keine Veränderung.

Hinweis

Ich persönlich würde mir allerdings gut überlegen ob man den Standard-Pfad für die Uploads ändern sollte. Einige Nutzer hatten in der Vergangenheit von Problemen bei manchen Plugins und beim Update berichtet.

7 Reaktion(en)

  1. Paul

    Kann ich den Upload-Ordner auch eine Ebene höher als das Root Verzeichnis von WordPress verschieben? Ich meine so, wie man das auch wp-config.php macht. Dann könnte man sich doch das Gedöns sparen, die PHP-Ausführung mittel htaccess unterbinden zu müssen für den Uploud-Ordner, da man von außen sowieso nicht auf die übergeordnete Serverebene zugreifen kann, oder?!

    PS.:
    Danke für den Schnipsel 😉

    1. Nico

      Wenn man nicht auf die übergeordnete Serverebene zugreifen kann, wie willst du dann die Bilder / Uploads per Webserver an deine Besucher ausliefern? Oberhalb des Root-Verzeichnisses des Webservers ist ein Bereich, auf dem man im Regelfall nicht von außen kommt. Der PHP Interpreter kann das (bezogen auf "Ich meine so, wie man das auch wp-config.php macht"), ein User von außen nicht.

      1. Paul

        Eigentlich bezog sich meine Frage auch genau darauf. Allerdings meinte ich keinen Userzugriff von außen, sondern wenn die Dateien quasi "statisch" oberhalb vom Root (einmalig) verschoben werden, ob WordPress auch im Fall des Upload-Ordners auf das Dateisystem der übergeordneten Serverebene zugreifen kann. Ich meine, ich habe das mal irgendwo gelesen, kann mich aber nicht mehr erinnern wo bzw. um welche Konstellationen es dort exakt ging.

  2. Pingback: WordPress-Newsletter Nr. 174 » perun.net

  3. Pingback: WordPress für Einsteiger: Was ist die Mediathek? » perun.net

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.