Upload-Verzeichnis für WordPress ändern
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. .
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?