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?

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.


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 );
});
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.