Aufschnur Logo

Upload-Verzeichnis für WordPress ändern

Sobald die Einträge in die Datenbank geschrieben sind, erscheint wie durch Zauberhand wieder der Einstellungsdialog

Mit der Datenbank-Methode erscheint wie durch Zauberhand wieder der Einstellungsdialog im Backend

Diesen Blog gibt es ja schon seit einigen Jahren, an der ursprünglichen Konfiguration muss ich nur selten etwas ändern. So entging mir, dass in WordPress mittlerweile eine praktische Einstellung entfernt wurde. Seit der Version 3.5 kann man im WordPress-Backend das Upload-Verzeichnis für Mediendateien nicht mehr ändern. Der Einstellungsdialog wurde einfach entfernt. Standardmäßig werden Bilder etc. im Verzeichnis wp-content/uploads abgelegt. Wer die Uploads gerne an einem anderen Ort gespeichert haben möchte, muss nun einen kleinen Umweg gehen. Dazu gibt es bereits haufenweise Anleitungen im Netz zu finden. Ich habe allerdings zusätzlich noch einen kleinen Trick heraus gefunden, wie man den verschwundenen Einstellungsdialog ohne großen Aufwand wieder zurück holen kann.

Die ersten beiden Methoden funktionieren ganz gut – außer man nutzt wie ich ein CDN um seine Bilder auf eine andere Domain auszulagern. Hier hilft nur die dritte Methode – ein Griff in die Datenbank. Zumindest hatte ich bei dieser speziellen Konstellation nur damit Erfolg. Ganz nebenbei bringt dieser Eingriff auch den Einstellungsdialog für das Upload-Verzeichnis wieder zurück.

In der Konfigurationsdatei

Die gängigste Praxis ist ein Eintrag in die Konfigurationsdatei wp-config.php:

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

Oder beispielhaft im Root-Verzeichnis statt unter wp-content:

define( 'UPLOADS', '/srv/www/htdocs/html/uploads' );

Achtet darauf, dass dieser Eintrag noch vor der Festlegung der absoluten Pfade erfolgt:

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

Per Theme

Eine weitere Möglichkeit ist der Weg über die Datei functions.php eines Themes. Mit der Funktion update_option wird der Pfad direkt in der Datenbank aktualisiert:

update_option('upload_path','/srv/www/htdocs/html/uploads',true);
update_option('upload_url_path','http://subdomain.beispiel.de/uploads',true);

Der Nachteil dieser Methode ist, dass ihr jedes Theme das ihr nutzt auf diese Weise anpassen müsst. Und nach einem Theme-Update gehen die Änderungen verloren.

Direkt in die Datenbank

Meine favorisierte Methode ist es, die Einstellung direkt in die Datenbank zu schreiben. Das hat gleich mehrere Vorteile. Zum Einen funktioniert das auch bei ausgelagerten Domains. Zum Anderen holt euch dieser Schritt ganz ohne weiteres Zutun den verschwundenen Einstellungsdialog im Backend zurück.

Sucht in der Tabelle wp_options den Eintrag upload_path und ändert den Inhalt (Feld option_value) entsprechend auf den absoluten Pfad, z.B. /srv/www/htdocs/html/uploads. Im Feld upload_url_path gebt ihr die URL ein, z.B. .

Datenbanktabelle wp_options

Diese Beiträge könnten dich auch interessieren:

8 Kommentare

maxe
5. November 2013 um 17:33 Uhr

ich bin mir nicht sicher, ob diese DB-Einträge bei einer frischen Install (nach WP3.5) überhaupt vorhanden sind. Kannst du aufklären?

Aufschnürer
5. November 2013 um 18:55 Uhr

Hallo Maxe,

ja, ich habe selbst erst die Tage einen neuen Blog mit dem aktuellen WordPress aufgesetzt. Da waren die beiden Einträge auch bereits vorhanden (Sonst würde die Methode per Theme auch gar nicht funktionieren).

Es scheint so, als ob die WordPress-Entwickler hier sinnigerweise ein Fallback eingebaut hätten und es bisher noch niemand bemerkt hat. Sind die beiden Felder für die Pfade in der DB leer, ist der Einstellungsdialog ausgeblendet. Sind die Felder beschrieben, wird er wieder angezeigt.

Maxe
5. November 2013 um 20:18 Uhr

Danke für die Aufklärung!

Kenny
24. November 2014 um 19:45 Uhr

So, ich hoffe mal, dass meine Netzverbindung jetzt ausreicht, um meinen Kommentar auch wirklich abzusenden. 😀

Mir ist das ganze auch schon negativ aufgefallen. Ich bin mit WordPress 2.7 gestartet, wo man auch einen relativen UPLOAD_URL_PATH setzen konnte. Leider scheint das inzwischen nicht mehr zu gehen und WordPress setzt notorisch die Home-Adresse voran. Weißt du zufällig, wie man das lösen kann?

Aufschnürer
25. November 2014 um 9:02 Uhr

Hm, da bin ich spontan auch überfragt. Für die relative Pfadangabe ist doch aber auch der UPLOAD_PATH gedacht?

Andi
12. Februar 2015 um 19:40 Uhr

Hi,
du schreibst in dem Artikel, dass du deine Bilder ausgelagert hast auf einen anderen Server.
Wie geht das? Ich würde meine Bilder auch gerne auf einen externen Server auslagern.
Wie kriege ich WP dazu, dass es die Uploads auf den externen Server läd und die Mediathek zukünftig von dort nimmt?
Bin für jeden Tipp dankbar.
Gruß,
Andi

Aufschnürer
21. Februar 2015 um 15:46 Uhr

Hallo Andi,

in meinem Fall ist es nicht wirklich ein anderer Server, nur eine andere Domain. Aber das genügt schon, auch eine Subdomain sollte reichen. Damit wird die Beschränkung der gleichzeitigen Downloads quasi aufgehoben, denn diese erfolgt pro Domain. Die Suchmaschine deiner Wahl wird dir mit der Suchphrase „wordpress mediathek auslagern“ gute Anleitungen liefern, wie du das in WordPress umsetzt.

Viele Grüße,
Björn



Deine Meinung zählt