Categorias
Programação Wordpress

Carregar o Contact Form 7 apenas na página de contato

Se você usa o plugin ‘Contact Form 7’ para gerar formulários de contato já deve ter notado que este plugin adiciona arquivos CSS e Javascript de todas as páginas do site mesmo que não sejam usados.

Usando o arquivo functions.php do seu tema você pode adicionar algumas linhas de código para especificar quando carregar arquivos de seu plugin. A maneira de fazer isso vai depender se você sabe quais as páginas que usam o plugin ou se apenas sabe as páginas que não vai usá-lo.

Passo 1: Achar o ID do Contact Form 7

Primeiro você precisa saber qual o nome que o plugin usa como seu ID. Por exemplo, o ID do plugin ‘Contact Form 7‘ é «contato-form-7». A melhor maneira de descobrir isso é ver seu código fonte e descobrir onde o css está sendo carregado. O ID será na tag link css, apenas ignoramos o postfix «css». Por exemplo:

<link rel='stylesheet' id='contact-form-7-css' ...

Passo 2 – Função para adicionar o carregamento do scripts

Agora vamos adicionar uma função para verificar quando deve carregar os scripts. Nós vamos fazer isso usando o hook «add_action» e a função do WordPress «wp_deregister_script» no arquivo de funções do tema em uso. Aqui está um exemplo de carregar o ‘Contact Form 7‘ apenas na página de «contact».

Abra seu arquivo functions.php e adicionar a seguinte função:

//Remove plugin scripts
function my_conditional_scripts() {
  //Only load on contact page
  if (!is_page('contact')) {
     wp_deregister_script('contact-form-7');
  }
}
add_action( 'wp_enqueue_script', 'my_conditional_scripts', 100 );

Passo 3 – Função para adicionar o carregamento do CSS

Agora precisamos de outra função para verificar quando deve carregar os arquivos CSS. Nós vamos fazer isso usando o hook «add_action» e a função do WordPress «wp_deregister_style» no arquivo de funções do tema em uso.

Abra seu arquivo functions.php e adicionar a seguinte função:

//Remove CSS scripts
function my_conditional_styles() {
  //Only load on contact page
  if ( !is_page('contact') ) {
    wp_deregister_style( 'contact-form-7' );
  }
}
add_action( 'wp_enqueue_script', 'my_conditional_styles', 100 );

Conclusão as funções acima irão verificar se a página a ser carregada se chama «contact» e se não for essa página irá «bloquear» o carregamento dos scripts do ‘Contact Form 7‘.

Logicamente você deve alterar o nome da página para o nome ou ID de sua página. Em «!is_page(‘contact’)», dentro da matriz, tem o ‘contact’, que é o nome da pagina que queremos carregar o CSS e Javascript do ‘Contact Form 7‘ para gerar os formulários.

Esta é uma dica simples mas terá impacto diretamente no tempo de carregamento de seu site! Pode aplica-la em outros plugins…

E você costuma usar o ‘Contact Form 7‘? Usa esta técnica? Comente!

Um abraço e até já!



Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *