Como desativar scripts e estilos no wordpress

Por el 17 de agosto de 2009 | 9:12 am

wpplugins
Há muitos plugins e themes que adicionam Javascript e CSS no seu blog. Isto, que em si mesmo não é mau, quando usas vários plugins deste tipo podem fazer verdadeiras perrerías com teu lugar, mostrando uma versão lamentável do mesmo quando interferem vários estilos CSS ou scripts.

Felizmente WordPress dispõe de um sistema próprio que permite anular estes scripts e estilos.

Neste exemplo se usam dois plugins muito populares, Contact Form 7 e WP-PageNavi, mas podes aplicá-lo a outros similares, como Sociável, que também peca do mesmo.

A pura realidade

Não todos os plugins fazem bem o trabalho carregando scripts e estilos, muitos deles só pensam em sua funcionalidade, sem ter em conta que terão que conviver com outros plugins, com teu theme, inclusive com WordPress. Muitos desenvolvedores metem “o seu” e depois te tens que procurar a vida se há problemas, inclusive recomendando-te (quando lhes perguntas) que desatives os outros plugins ou “mudes de theme” (verídico).

Não todos os plugins usam métodos adequados para o ônus de scripts e estilos. A maior parte das ocasiões é porque não dominam dois importantes funções de WordPress: wp_enqueue_script() y wp_enqueue_style(). Se o autor de um plugin/theme não usa estas funções melhor procura-te outro plugin/theme ou anima-lhe a fazê-lo. O que fazem é permitir ao resto conviver com seu código.

Uma vez tenhas claro que scripts ou CSS queres desativar já te podes pôr mãos à obra …

Desativando Javascript

No exemplo vamos desativar o Javascript do plugin Contact Form 7. O primeiro que temos que fazer é encontrar o telefonema ao script. Para isso abrimos o ficheiro wp-contact-form-7.php num editor de texto e procuramos a corrente wp_enqueue_script. Encontraremos o seguinte:
[sourcecode language=”php”]wp_enqueue_script( ‘contact-form-7’, wpcf7_plugin_url( ‘contact-form-7.js’ ), array(‘jquery’, ‘jquery-form’), WPCF7_VERSION, $in_footer );[/sourcecode]

O chama ao Javascript do plugin é, em conseqüência, contact-form-7. Agora já podemos fechar o arquivo e seguir adiante.A seguir abrimos o ficheiro functions.php de teu theme e adicionamos este código PHP:

[sourcecode language=”php”]add_action( ‘wp_print_scripts’, ‘my_deregister_javascript’, 100 );

function my_deregister_javascript() {
wp_deregister_script( ‘contact-form-7’ );
}[/sourcecode]

Guardamos o arquivo e o que conseguimos é que o script não se volte a carregar. Podes desativar (desregistrar) tantos scripts como queiras com esta função.

Desativando estilos

Para este exemplo vamos desativar a folha de estilos do plugin WP-PageNavi. E é que é quase melhor sempre adicionar estilos em teu CSS, e não que os coxa das pastas dos plugins, as vezes atualizam os plugins com mudanças de CSS que podem destroçar tua theme.O primeiro que temos que fazer é abrir o ficheiro wp-pagenavi.php num editor de texto e procurar wp_enqueue_style. O que encontramos é este código:

[sourcecode language=”php”]wp_enqueue_style(‘wp-pagenavi’, get_stylesheet_directory_uri().’/pagenavi-css.css’, false, ‘2.50’, ‘all’);[/sourcecode]

E também este outro:

[sourcecode language=”php”]wp_enqueue_style(‘wp-pagenavi’, plugins_url(‘wp-pagenavi/pagenavi-css.css’), false, ‘2.50’, ‘all’);[/sourcecode]

O que estamos procurando é como Page Navi gere os estilos. Uma vez o encontramos já o podemos fechar (depois de analisá-lo) e adicionar o seguinte ao ficheiro functions.php de teu theme:

[sourcecode language=”php”]add_action( ‘wp_print_styles’, ‘my_deregister_styles’, 100 );

function my_deregister_styles() {
wp_deregister_style( ‘wp-pagenavi’ );
}[/sourcecode]

Com isto desativamos a folha de estilos deste plugin. Como antes, podes “desregistrar” quantos estilos queiras com esta função.

Trucos para melhorar a tarefa

Agora que desativamos scripts e estilos há algumas coisas que podemos fazer para melhorar esta técnica ou dar-lhe outros usos:

  • Coloca os estilos desativados (ou os que queiras mudar) ao final de tua folha de estilos (style.css), adicionando algum comentário que os identifique, que mostre a que afetam.
  • Combina vários scripts num só arquivo e carrega-os teu mesmo.
  • Usa tags condicionais para afinar o controle do ônus de estilos e/ou scripts.
  • Se desativas algo pode que o plugin/theme deixe de funcionar corretamente. A maioria dos estilos podes adicioná-los à folha de estilos de teu theme para assim não carregar várias folhas de estilos. Mas com o Javascript é diferente, com este tipo de código só combina vários scripts se sabes realmente o que estás fazendo

via ayudawordpress.com

Temas:


Ajuda WordPress © 2009-2017 Todos os direitos reservados.Desenvolvido por Alyen Studio