Zur Versionskontrolle verfügt unser Client über eine WordPress-App mit einer Verzeichnisstruktur wie folgt:
.
|_____app
| |_____themes
| |_____plugins
| |_____uploads
|_____index.php
|_____WordPress
|_____wp-config.php
In wp-config.php
:
define('WP_CONTENT_DIR', __DIR__ . '/app');
define('WP_CONTENT_URL', WP_HOME . '/app');
Jetzt möchte sie alle Standard-WordPress-Ordner im App-Verzeichnis umbenennen.
Mit plugins
und themes
können wir es einfach tun, indem wir WP_PLUGIN_DIR
und register_theme_directory () verwenden . Aber irgendwie ist es nicht einfach, uploads
Ordner umzubenennen .
Ich habe viele Änderungen mit UPLOADS
Konstante versucht , aber es kann nicht helfen, da benutzerdefinierte Upload-Ordner immer im WordPress
Verzeichnis erstellt werden.
Gibt es Möglichkeiten, dieses Problem zu umgehen?
quelle
site_url(/wp-content/uploads)
durchsite_url(/wp-content/media)
Wenn Sie sich die Quelle von ansehen
_wp_upload_dir
, werden Sie sehen:So
UPLOADS
kann nur dann verwendet werden , um eine foder relativ zu definierenABSPATH
, was ich denke , ist/WordPress
Ordner in Ihrem Setup.In derselben Funktion können Sie sehen, dass, wenn
get_option('upload_path')
undget_option('upload_url_path')
leer sind, der Pfad und die URL des Upload-Ordners auf festgelegt sindWP_CONTENT_DIR.'/uploads'
undWP_CONTENT_URL.'/uploads'
für Sie vollkommen in Ordnung sein sollten, solange Sie dies in OP definierenWP_CONTENT_DIR
undWP_CONTENT_URL
mögen.Wenn Sie überhaupt nicht definieren
UPLOADS
und der Upload-Ordner immer noch nicht aufgelöst ist/app/uploads
, enthält Ihre Datenbank höchstwahrscheinlich einen Wert für'upload_path'
und'upload_url_path'
Optionen.Sie haben 2 Möglichkeiten:
"pre_option_{$option}"
Filter, um zu erzwingenget_option()
, dass für diese Optionen etwas Leeres zurückgegeben wird (aber nicht,false
oder die Filter werden ignoriert).Für die zweite Möglichkeit könnte der Code ungefähr so aussehen:
Mit dem obigen Code und ohne
UPLOADS
definierte Konstante sollte der Upload-Ordner korrekt aufgelöst werden , solange SieWP_CONTENT_DIR
und definierenWP_CONTENT_URL
.Wenn dies nicht der Fall ist, muss beispielsweise etwas auf einen Filter einwirken
upload_dir
.quelle
UPLOADS
,app/uploads
wird normal erstellt, solange ichWP_CONTENT_DIR
und definiert habeWP_CONTENT_URL
.upload_path
undupload_url_path
sind standardmäßig leere Zeichenfolgen in der Datenbank, und es werden keine Änderungen mithilfe desupload_dir
Filters vorgenommen. Aber ich kann immer noch nicht inapp/uploads
so etwas umbenennenapp/custom
.