Liens symboliques sur la boîte de développement avec plugins et feuilles de style

11

J'utilise mac os x 10.6 avec xampp.

http://wp3.1/ est l'URL vers laquelle j'ai installé WordPress.

Le chemin physique est /Users/myUserName/Sites/wp3.1/

Je n'installe pas de plugins ou de thèmes de manière "naturelle". J'ai créé un répertoire nommé "git" qui se trouve dans /Users/myUserName/git/. C'est là que vivent tous mes dépôts git. Lorsque je veux installer un plugin, je crée simplement un lien symbolique dans /Users/myUserName/Sites/wp3.1/wp-content/plugins/. Cela fonctionne très bien pour les plugins simples, mais si le plugin met en file d'attente une feuille de style ou un script, l'URL s'affiche comme suit:

http://wp3.1/wp-content/plugins/Users/myUserName/git/options-framework-plugin/css/colorpicker.css?ver=3.1.1

Comment puis-je réparer ça?

mfields
la source

Réponses:

10

Les liens symboliques sont… risqués dans WordPress. Il est plus facile d'utiliser un domaine séparé pour les plugins par wp-config.php:

define( 'WP_PLUGIN_DIR', '/local/path/to/plugin/directory' );
define( 'WP_PLUGIN_URL', 'http://plugins.dev');

Voir Strategy On Building Plugin Using Eclipse comme exemple de configuration IDE avec une telle configuration.

fuxia
la source
Intéressant ... Merci! Je vais essayer tout de suite.
mfields
Cela a fonctionné comme un charme. Merci beaucoup! Il m'a fallu un certain temps pour installer mes vhosts, mais maintenant tout fonctionne parfaitement. Mad Props !!!
mfields
@toscho: L'utilisation d'un domaine distinct pour vos plugins ne créera-t-elle pas des problèmes de sécurité entre domaines dans les navigateurs? Cookies WP qui ne sont pas transférés lorsque vous accédez à quelque chose dans ` plugins.dev/myplugin/myaction.php '?
Jan Fabry
1
@Jan Fabry J'utilise cette méthode uniquement pour le développement. IMO, les plugins codés pour accéder à leurs fichiers le font mal. De telles actions doivent être gérées par admin-ajax.php.
mfields
1
+1 Ceci est possible pour les plugins ainsi que les plugins MU, mais malheureusement pas pour les Dropins, qui doivent rester dans votre ~/wp-contentdir ...
kaiser
0

Comme vous pouvez le voir, l'URL du plugin est correcte, sauf pour le vrai chemin coincé au milieu. Nous pouvons filtrer la fonction responsable de la génération des URL de plugin et la supprimer.

Le code suivant doit être installé en tant que plug- in indispensable :

add_filter( 'plugins_url', function( $url ) {
    return str_replace( '/Users/myUserName/git/', '', $url );
});
karité
la source