Ich habe meine (lokale) Installation (Dev Box) angepasst. Die aktuelle Verzeichnisstruktur lautet:
./root
|- wp (WordPress Core root)
\
|- wp-config.php
|- wp-content (Content and Vendor root)
\
|- mu-plugins (...)
|- themes (...)
|- plugins (...)
|- uploads (Custom uploads dir)
|- vendor (Composer installed libraries)
|- index.php (loads ~/wp/index.php > require( dirname(__FILE__).'/wp/wp-blog-header.php' ); )
In meinem wp-config.php
habe ich folgendes Setup:
define( 'WP_SITEURL', 'http://example.dev/wp' );
define( 'WP_HOME', WP_SITEURL );
define( 'WP_CONTENT_DIR', './../../wp-content' );
define( 'WP_CONTENT_URL', 'http://example.dev/wp-content' );
define( 'WP_PLUGIN_DIR', '../../wp-content/plugins' );
define( 'WP_PLUGIN_URL', WP_CONTENT_URL.'/plugins' );
define( 'WPMU_PLUGIN_DIR', '../../wp-content/mu-plugins' );
define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL.'/mu-plugins' );
Es handelt sich um eine Einzelstandortinstallation, und keine der folgenden Konstanten ist definiert (und greift daher auf die Standardeinstellung zurück): UPLOADBLOGSDIR
, UPLOADS
, BLOGUPLOADDIR
.
Als @Sven (Hofmann) mich im Chat fragte: Das einzige Plugin, das auf den *_url
Filtern läuft, ist ein Mu-Plugin, das das neue Themes-Verzeichnis erstellt:
add_filter( 'theme_root_uri', 'switch_theme_root_local' );
add_filter( 'theme_root', 'switch_theme_root_local' );
Wie Sie sehen, kann nichts mit internen URls in Konflikt stehen.
Schritt 1) Wenn ich in die "Medienbibliothek" gehe und auf einen Anhang klicke/ihn öffne, wird das Modal wie gewohnt geöffnet und die Mediendatei (oder im Problemfall das Bild) angezeigt.
Schritt 2) Klicken Sie auf den "Bild bearbeiten" Link oben und der folgende Bildschirm (modaler Ersatz) erscheint. Beachten Sie das defekte Bild. Ich habe die Chromes-Entwicklungstools geöffnet, um die el und die Attribute/den Pfad anzuzeigen.
Ich habe keine Ahnung, wie ich das debuggen soll und/oder wo die defekten Origin-Links sein könnten. Ich gehe davon aus, dass dies vergraben irgendwo in WordPress am wenigsten dokumentierte Teile sind: JavaScript-Vorlagen für die Medienbibliothek.
Das Upload-Verzeichnis hat in wp-config eine eigene Definition:
define( 'UPLOADS', WP_CONTENT_URL.'/customuploads' );