Às vezes, você programa tudo meticulosamente em um tema, mas vem um plugin e acaba inserindo algo que você não quer ou já carregou em seu próprio código.
E agora? Como fazer para impedir que outros arquivos deixem seu site mais lento no carregamento?
A reposta é simples. Do mesmo jeito que você pode incluir arquivos CSS e JS no WP usando wp_enqueue_scripts, você pode removê-los. Veja um exemplo abaixo de carregamento condicional:
add_action( 'wp_enqueue_scripts', 'remove_scripts', 100 ); function remove_scripts() { if ( !is_single() ) { wp_dequeue_script( 'cwi_form_validate' ); wp_dequeue_script( 'essb-mailform' ); wp_dequeue_style( 'easyrecipestyle-reset' ); wp_dequeue_style( 'easyrecipebuttonUI' ); wp_dequeue_style( 'easyrecipestyle' ); } if (!is_page()){ wp_dequeue_style( 'dlm-frontend' ); } }
No exemplo acima, precisava que alguns arquivos fossem chamados somente em páginas de post ou páginas comuns.
A sintaxe é a seguinte:
wp_dequeue_style( '$handle' ); //para CSS wp_dequeue_script( '$handle' ); //para JS
Removendo arquivos CSS
Onde, o $handle é o slug do script. Para CSS é fácil de achar, basta olhar no código da sua página, na seção Head e procurar pela tag <link>
<link rel='stylesheet' id='fw-font-awesome-css' href='http://cdn1.netmundo.com.br/wp-content/plugins/unyson/framework/static/libs/font-awesome/css/font-awesome.min.css' type='text/css' media='all' />
O nosso handle aqui é o id, “fw-font-awesome”, sem o “-css”. Então, para remover este arquivo do carregamento, usaríamos:
wp_dequeue_style( 'fw-font-awesome' ); //para CSS
Removendo arquivos JS
Para remover os arquivos javascript/jQuery, é um pouco mais chato, já que a tag gerada pelo WordPress não mostra o handle. Vamos ter que usar um código no functions.php temporariamente para poder descobrir os IDs:
function wpa54064_inspect_scripts() {
global $wp_scripts;
if (is_user_logged_in()):
foreach( $wp_scripts->queue as $handle ) :
echo $handle,'<br>';
endforeach;
endif;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );
Modifiquei a versão original, para mostrar os handles apenas para quem estiver logado.

A imagem acima é um exemplo do código gerado. Assim, para remover o JS “customize-preview-nav-menus”:
wp_dequeue_script( 'customize-preview-nav-menus' ); //para JS
É isso aí!