Lorsque je développe des plugins, je les teste sur plusieurs versions de WordPress en créant un lien symbolique vers mon répertoire de plugins dans les différents wp-contentrépertoires. C'est génial car je n'ai à modifier les fichiers qu'une seule fois, mais cela casse une construction importante pour générer des références aux ressources dans mon plugin: __FILE__fait référence à l'emplacement physique du plugin, pas celui de wp-content. Comment dois-je résoudre ce problème?
Ma structure de répertoire ressemble à ceci:
/path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.phpjs/monkeyman-rewrite-analyzer.js
versions/3.1/wp-content/plugins/monkeyman-rewrite-analyzercomme lien symbolique vers le plugin ci-dessus
3.1-multi-dir/wp-content/plugins/monkeyman-rewrite-analyzercomme lien symbolique vers le plugin ci-dessus
3.1-multi-domain/wp-content/plugins/monkeyman-rewrite-analyzercomme lien symbolique vers le plugin ci-dessus
Si je veux mettre le fichier Javascript en file d'attente, je devrais utiliser plugins_url( 'monkeyman-rewrite-analyzer.js', [base file] ), mais l'utilisation __FILE__ici ne fonctionnera pas, car le chemin d'accès au fichier sera /path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php, non /path/to/wordpress/development/dir/versions/*/wp-content/plugins/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php, donc WordPress ne peut pas supprimer la première partie et générer une URL relative à l'installation de WordPress.
WP_PLUGIN_URLn'est pas recommandée car les administrateurs devraient être autorisés à changer le nom du répertoire de ce plugin spécifique, mais y a-t-il également une autre raison de l'éviter? Et en effet, votre ticket serait une solution simple.