J'ai personnalisé mon installation (locale) (boîte de dev). La structure de répertoire actuelle est la suivante:
./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' ); )
Dans mon wp-config.php
, j'ai la configuration suivante:
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' );
Il s’agit d’une installation sur un seul site et aucune des constantes suivantes n’est définie (et donc revient par défaut): UPLOADBLOGSDIR
, UPLOADS
, BLOGUPLOADDIR
.
Comme @Sven (Hofmann) me l'a demandé dans le chat: le seul plug-in qui s'exécute sur les filtres *_url
est un mu-plugin qui configure le nouveau répertoire themes:
add_filter( 'theme_root_uri', 'switch_theme_root_local' );
add_filter( 'theme_root', 'switch_theme_root_local' );
Comme vous pouvez le constater, rien ne peut entrer en conflit avec les adresses URL internes.
Étape 1) Lorsque je vais dans la "Médiathèque" et que je clique/ouvre une pièce jointe, la modale s'ouvre normalement et affiche le fichier multimédia (ou dans le cas problématique: l'image).
Étape 2) Appuyez sur le bouton "Modifier l'image" Lien ci-dessus et l'écran suivant (remplacement modal) apparaît. Notez l'image brisée. J'ai ouvert les outils de chromes dev pour montrer le el et les attributs/chemin.
Je n'ai aucune idée de comment déboguer ceci et/ou où pourraient se trouver les liens brisés à l'origine. Je suppose que c'est enterré quelque part dans les parties les moins documentées de WordPress: les modèles JavaScript pour la médiathèque.
Le répertoire uploads a sa propre définition dans wp-config:
define( 'UPLOADS', WP_CONTENT_URL.'/customuploads' );