Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rockman 2

Remover JS e CSS de algumas paginas do WP

Recommended Posts

Pessoal me surgiu uma duvida em relação a melhores praticas de programação e carregamento de forma adequada e rapida no wordpress, pesquisando achei varias referencias de como carregar scripts e arquivos css com funções no arquivo "function.php" de tudo que encontrei, está é uma função muito interessante pra min mas que não está funcionando corretamente:

 

Segue o codigo:

 

function remover_js() {
 wp_deregister_script( 'ngg-slideshow' );
}
function remover_css() {
 wp_deregister_style( 'NextGEN' );
}

if(!is_page_template('single.php')){
add_action( 'wp_print_scripts', 'remover_js', 100 );
add_action( 'wp_print_styles', 'remover_css', 100 );
}

 

No exemplo acima está função desativa o script e css do plugin "Nextgen Galley" só ativado novamente nas paginas "single.php" ok em teoria deveria funcionar mas não está funcionando corretamente, pois desativar o css e script, mas na ultima parte onde se verifica se a pagina é "single.php" não funciona ou seja continua desativado pois a verificação não acontece mesmo estando em uma pagina "sigle.php" !!!

 

Detalhe: Estou usando a ultima versão do WP de teste para não ter complicações e tambem já tentei outros parametros em " if(!is_page_template('single.php')) " como !is_page, !is_category("posts_extras") etc...!

 

A pergunta é tem outras maneiras de se fazer isso ou de corrigir esta função, porque é complicado ter um monte de JS e CSS ativado o tempo todo sem necessidade tornando a navegação pesada e carregada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui dessa forma, tanto para a galeria como para o formulário de contato. Entretanto, parece que demora a carregar tanbém. Da uma conferida em seu site e depois da um retorno, pois pode ser somente impressão minha.

 


// A primeira função desregistra os scripts que o plugin carrega e a segunda, desregistra os estilos (css). Note que usamos a função is_page() para verificar páginas, cujo IDs são 7,10,2 ou seja, as páginas 7,10,2 possuem formulário.

add_action( 'wp_enqueue_scripts', 'wpmidia_deregister_cf7_scripts', 100 );
function wpmidia_deregister_cf7_scripts() {
   if ( !is_page(array(7,10,2)) ) { 
       wp_deregister_script( 'contact-form-7' );
   }
}
add_action( 'wp_enqueue_scripts', 'wpmidia_deregister_cf7_styles', 100 );
function wpmidia_deregister_cf7_styles() {
   if ( !is_page(array(7,10,2)) ) {
       wp_deregister_style( 'contact-form-7' );
   }
}


/* Next Gen Gallery */

function dequeue_nextGen_style() {
       if (!is_page(array(104))) {
       wp_dequeue_style('NextGEN');
	wp_dequeue_style('shutter');

       }
}
add_action('template_redirect', 'dequeue_nextGen_style');

function dequeue_nextGen_js() {
       if (!is_page(array(104))) {
               wp_dequeue_script('ngg-slideshow');
               wp_deregister_script('jquery-cycle');
			wp_deregister_script('shutter');
       }
}
add_action('template_redirect', 'dequeue_nextGen_js');

 

Esse tópico teve 80 visualizações e ninguem deu um retorno, se está funcionando bem ou se está demorando também a carregar. É desanimador...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse tópico teve 80 visualizações e ninguem deu um retorno, se está funcionando bem ou se está demorando também a carregar. É desanimador...

 

Então amigo! Eu tentei mas não tive sucesso ainda.

Engraçado que eu a titulo de teste mudei os ID's para os paginas que não tem tanto o Nextgen quanto o cforms mas ambos estavam desativados !?!?!?

 

Sem duvida fiz algo errado aqui e vou continuar tentando até resolver isso.

Mas valeu pela ajuda amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu testei na versão mais nova do Wordpress e deu tudo certo.

 

Olhe abaixo, aqui é pra você colocar as Id das páginas que você quer que carregue JS e CSS dos plugins.

 

if ( !is_page(array(7,10,2)) )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma outra opção é criar modelos (templates) de página. Você coloca as tags na head do html que quiser em cada tipo de página. Você cria os modelos e escolhe na hora de publicar uma página.

 

Básicamente você coloca isso em cima da página, e o WordPress consegue identificar o template certo com seu html personalizado somente para as paginas que escolheu esse template.

 

<?php
/*
Template Name: Modelo sem os arquivos css x, y e z
*/
?>

 

O processo é simples. http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.