Carregar scripts do Contact Form 7 só na página de contato - Publique Sites
Início / Wordpress / Carregar scripts do Contact Form 7 só na página de contato
Postado 11/10/2016 19/01/2020 em Wordpress - Tags contact form7, formulário de contato, wordpress
Você pode diminuir o tempo de carregamento do seu site se carregar scripts do Contact Form 7 só na página de contato ou com qualquer outro plugin que fique carregando o "CSS" e "JS" em todas as páginas de seu site sem necessidade, como por exemplo o plugin "Revolution Slider". Este post tem como objetivo auxiliar você a tratar deste problema com uma simples solução no seu arquivo de functions.php do tema.
Neste exemplo, estamos utilizando o plugin Contact Form 7 que já está instalado em nosso wordpress e utilizamos o formulário somente na página "contato". Vamos iniciar com a eliminação dos arquivos JS e CSS do plugin contact form7 em páginas que não vão apresentar formulário de contato.
A primeira coisa a fazer é instalar estes plugins abaixo:
Debug Bar – https://br.wordpress.org/plugins/debug-bar/
Debug Bar list dependencies – https://br.wordpress.org/plugins/debug-bar-list-dependencies/
Com estes 2 plugins acima você tem como verificar qual o nome que está carregando o script ou estilo de determinado plugin, podendo assim excluir o que necessita.
Após instalar os 2 plugins é necessário ativá-los. Em seguida vá até sua configuração de usuário e ative a sua barra de ferramentas como mostra a imagem abaixo:
Feito isso, ao acessar alguma página do site você verá sua barra de ferramentas no topo do site com o debug:
Clique em debug > após clique em Script & Style Dependencies e veja como mostra a imagem abaixo o seu arquivo "scripts.js" do plugin Contact Form 7. Este script iremos bloqueá-lo em páginas que não seja a que iremos utilizar o nosso formulário de contato.
Com o nome da função ( contact-form-7 ) que carrega o "script.js" do Contact Form 7, agora vamos adicionar ao functions.php do tema a nossa função que vai verificar se a página o usuário está é a página "contato" ( você deve alterar o nome da página para o nome ou ID de sua página – se colocou o nome de sua página que contém o formulário de "Fale conosco" deve inserir este nome no script abaixo ).
// limita o js à página que tem o formulário
add_action( 'wp_enqueue_scripts', 'deregister_javascript', 100 );
function deregister_javascript() {
if ( !is_page('contato') ) {
Ainda no Debug, abaixo da lista de scripts tem a lista "Enqueued Styles" que contém os estilos carregados pelo site. Vamos fazer a mesma coisa que foi feito no JS do Contact Form 7, só que agora com o CSS do plugin.
// limita o css à página que tem o formulário
add_action( 'wp_enqueue_scripts', 'deregister_styles', 100 );
Com esses 2 scripts no functions.php do seu tema, conseguimos eliminar o css e js do plugin Contact Form 7 de outras páginas que não seja a de seu formulário.
Abaixo o script completo e otimizado, além de adicionar uma página que irá carregar o CF7 ( 'contato' e 'orcamento' ). Caso queira adicionar mais um wp_deregister_script na mesma função e nas mesmas páginas são os mesmo passos como com o 'google-recaptcha' abaixo.
* limita o js e css do contactform 7 à página que tem o formulário
add_action( 'wp_enqueue_scripts', 'ac_remove_cf7_scripts' );
function ac_remove_cf7_scripts() {
if ( !is_page(array('contato', 'orcamento')) ) {
// remove o css do CF7 de outras páginas fora as: contato e orcamento.
Caso queira eliminar js ou css de outros plugins, é só utilizar a mesma técnica usada no plugin de contato.
Abaixo juntei o código que elimina o css e js do plugin Contact Form 7 e o código para eliminar o css do Revolution Slider da página "Home" e "notícias"
// limita os css às páginas listadas abaixo
// retira o css do rev slider de páginas que não sejam as de baixo (Home e noticias)
if ( !is_page( array( 'Home', 'noticias' )) ) {
wp_deregister_style( 'ms-main' );
wp_deregister_style( 'ms-custom' );
Dica que irá diminuir o tempo de carregamento do site, qualquer dúvida/sugestão deixe seu comentário abaixo, valeu!