Enlaces simbólicos en el cuadro de desarrollo con complementos y hojas de estilo


11

Estoy usando mac os x 10.6 con xampp.

http://wp3.1/ es la url donde tengo instalado WordPress.

El camino físico es /Users/myUserName/Sites/wp3.1/

No instalo complementos o temas de la forma "natural". He creado un directorio llamado "git" que se encuentra en /Users/myUserName/git/. Aquí es donde viven todos mis repositorios git. Cuando quiero instalar un complemento, solo creo un enlace simbólico /Users/myUserName/Sites/wp3.1/wp-content/plugins/. Esto funciona muy bien para complementos simples, pero si el complemento en cola es una hoja de estilo o script, la url se muestra como:

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

¿Cómo puedo solucionar esto?

Respuestas:


10

Los enlaces simbólicos son ... arriesgados en WordPress. Es más fácil usar un dominio separado para complementos por wp-config.php:

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

Consulte Estrategia sobre la creación de complementos utilizando Eclipse como ejemplo para la configuración de IDE con dicha configuración.


Interesante ... ¡Gracias! Voy a probar esto de inmediato.
mfields

Esto funcionó como un encanto. ¡Muchas gracias! Me llevó un tiempo configurar mis vhosts, pero ahora todo funciona a la perfección. Apoyos locos !!!
mfields

@toscho: ¿No utilizará un dominio separado para sus complementos crear problemas con la seguridad entre dominios en los navegadores? ¿Cookies WP que no se transfieren cuando accedes a algo en ` plugins.dev/myplugin/myaction.php '?
Jan Fabry

1
@ Jan Fabry Estoy usando este método solo para desarrollo. En mi opinión, los complementos codificados para acceder a sus archivos lo están haciendo mal. Acciones como esta deberían ser manejadas por admin-ajax.php.
mfields

1
1 Esto es posible para los plugins, así como mu-plugins, pero lamentablemente no para dropins, que tienen que permanecer en su ~/wp-contentdir ...
Kaiser

0

Como puede ver, la URL del complemento es correcta, excepto por la ruta real atascada en el medio. Podemos filtrar la función responsable de generar URL de complementos y eliminar esto.

El siguiente código debe instalarse como un complemento obligatorio :

add_filter( 'plugins_url', function( $url ) {
    return str_replace( '/Users/myUserName/git/', '', $url );
});
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.