Links simbólicos na caixa de desenvolvimento com plugins e folhas de estilo

11

Estou usando o mac os x 10.6 com o xampp.

http://wp3.1/ é o URL para onde eu tenho o WordPress instalado.

O caminho físico é /Users/myUserName/Sites/wp3.1/

Não instalo plugins ou temas da maneira "natural". Eu criei um diretório chamado "git" localizado em /Users/myUserName/git/. É aqui que todos os meus repositórios git vivem. Quando quero instalar um plug-in, basta criar um link simbólico no /Users/myUserName/Sites/wp3.1/wp-content/plugins/. Isso funciona muito bem para plugins simples, mas se o enfileiramento do plug-in for uma folha de estilos ou script, o URL será exibido como:

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

Como faço para corrigir isso?

mfields
fonte

Respostas:

10

Links simbólicos são… arriscados no WordPress. É mais fácil usar um domínio separado para plugins por wp-config.php:

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

Consulte Estratégia sobre a criação de plug-in usando o Eclipse como um exemplo para a configuração do IDE com essa configuração.

fuxia
fonte
Interessante ... Obrigado! Vamos tentar isso imediatamente.
precisa saber é o seguinte
Isso funcionou como um encanto. Muito obrigado! Levei um tempo para configurar meus fantasmas, mas agora tudo está funcionando perfeitamente. Mad Props !!!
mfields
@toscho: o uso de um domínio separado para seus plug-ins não cria problemas com a segurança entre domínios nos navegadores? WP Cookies que não são transferidos quando você acessa algo em ` plugins.dev/myplugin/myaction.php '?
Jan Fabry
1
@ Jan Fabry Estou usando esse método apenas para desenvolvimento. IMO, plugins codificados para acessar seus arquivos estão fazendo errado. Ações como essa devem ser tratadas pelo admin-ajax.php.
mfields
1
+1 Isto é possível para Plugins, bem como Mu-Plugins, mas infelizmente não para dropins, que têm de ficar em seu ~/wp-contentdir ...
kaiser
0

Como você pode ver, o URL do plug-in está correto, exceto pelo caminho real preso no meio. Podemos filtrar a função responsável por gerar URLs de plug-in e removê-lo.

O código a seguir deve ser instalado como um plugin obrigatório :

add_filter( 'plugins_url', function( $url ) {
    return str_replace( '/Users/myUserName/git/', '', $url );
});
shea
fonte