Blog

Como Colar Trechos de Código (Snippets) no WordPress

Como Colar Snippets
Guias para Iniciantes

Como Colar Trechos de Código (Snippets) no WordPress

Sempre postamos tutoriais que envolvem adicionar trechos de código (snippets) ao arquivo functions.php do seu tema WordPress. Embora este processo seja bastante fácil para aqueles que sabem como o PHP funciona, parece um pouco complicado para os iniciantes. Muitas vezes, novos usuários querem realizar o resultado final do tutorial, mas falta-lhes o conhecimento de PHP para entender como colar o código corretamente, sem prejudicar o site. Não há nada de errado com isso, e se você está lendo este artigo, provavelmente prejudicou o seu site fazendo isso. Antes, queremos assegurar-lhe de que você não é o único. Todos nós, quando começamos cometemos esse erro. Neste artigo, vamos mostrar a você como evitar os erros mais comuns, quando for colar o código PHP de tutoriais no arquivo functions.php do seu tema WordPress.

[nota]O arquivo functions.php do tema, geralmente, está localizado na pasta /wp-content/themes/seutema/. Este arquivo NÃO é o mesmo que o arquivo functions.php (core do WordPress) localizado no diretório /wp-includes/.[/nota]

ATUALIZAÇÃO IMPORTANTE:

Recomendamos ultimamente, que você crie um Plugin Específico do Site para colar seus Snippets. Clique no link para saber mais sobre isso.


Para entender como colar o código corretamente, você precisa entender a semântica básicos do PHP.

//Esta é a tag de abertura de um código PHP
<?php

//Esta é a tag de fechamento de um código PHP
?>

A razão pela qual você precisa para se familiarizar com isso é porque mais de 95% dos problemas que temos corrigido, envolve problemas de colar o código em um lugar errado. Então, saber a semântica do PHP é muito útil. Abaixo estão alguns dos erros mais comuns que vemos:

1° Erro Mais Comum

O usuário encontra um código PHP no site, como abaixo, e cola-o no lugar errado.

<?php
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
	return 'https://wp24horas.com.br';
}
?>

Código do arquivo functions.php do tema Exemplo (Nota: Geralmente o arquivo functions.php do tema tem muito mais código, mas a ideia é a mesma):

<?php
//Toneladas de código PHP que já existe aqui no seu arquivo

//O Usuário deve copiar e colar o snippet que encontraram na web como este:

<?php
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
	return 'https://wp24horas.com.br';
}
?>
?>

Obviamente, isso vai pirar o WordPress, porque você tem uma nova tag de abertura PHP sem fechar a tag PHP existente. Há duas maneiras de corrigir esse problema. O primeiro método é colar o item no lugar certo:

<?php
//Toneladas de código PHP que já existe aqui no seu arquivo

//Veja como fechamos corretamente a primeira tag PHP
?>
//Agora nos podemos abrir outra tag PHP.
<?php
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
	return 'http://www.wpbeginner.com';
}
?>

Observe, como nós colamos corretamente o código PHP depois que a tag PHP anterior foi fechada.

Outro método é simplesmente retirar a tag de abertura e fechamento de sua nova função WordPress. Assim, o exemplo ficaria assim:

<?php
//Toneladas de código PHP que já existe aqui no seu arquivo

// Novo código só vai aqui (Observe como nós retiradmos as tags de abertura e fechamento do PHP do novo código)

add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
	return 'https://wp24horas.com.br';
}
?>

2° Erro Mais Comum

Cada autor de tutorial tem seu próprio estilo de escrever. Alguns mantêm seus snippets dentro das tags PHP como você viu no exemplo acima. Outros autores não envolvem seus snippets com tags PHP.

Isso nos leva ao segundo problema. Se você tem um código como este:

function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

O autor está supondo que você sabe que este código deve ir dentro das tags PHP. Alguns até sugerem que você coloque o seu código na parte inferior do arquivo functions.php do seu tema. O exemplo de um erro de iniciante é:

<?php
//Toneladas de código PHP que já existe aqui no seu arquivo
?>

//Em seguida, o usuário cola o código aqui (Observe que a tag PHP já está fechados acima):

function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

Note que o usuário colou o código fora das tags PHP. O WordPress não sabe qual é o código, assim, vai parar.

Um código correto seria algo como isto:

<?php
//Toneladas de código PHP que já existe aqui no seu arquivo

//O novo vai aqui
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

//PHP End Tag
?>

3° Erro Mais Comum

Agora que nós falamos sobre a questão de abertura e fechamento das tags PHP, o último erro mais comum que vemos, envolve usuário colando novos snippets dentro de uma função existente.

A anatomia de uma função geralmente se parece com isso:

function custom_function_name() { // Esta é a  tag de abertura da função<br /><br />//O código especifico para a função vai aqui<br /><br />} // Esta é a tag de fechamento da função

Se você colar uma outra função dentro de uma função, então ele fará com que seu site pare. Um exemplo deste erro seria algo como:

function custom_function_name() { // Esta é a tag de abertura da função

// O código específico para a função vai aqui

function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

} // Esta é a tag de fechamento da função

Você não pode fazer isso. Cada função é independente, então, você não pode colocar as duas juntas. A maneira correta de colar seria assim:

function custom_function_name() { // Está é a tag de abertura da função

// o código específico da função vai aqui

} // Esta é a tag de fechamento da função

function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

Os 3 erros comuns acima, provavelmente, são a razão pela qual o seu tema deixou de funcionar, quando você copiou e colou um snippet da web no arquivo functions.php do seu tema WordPress

Outras dicas úteis

Há momentos em que nós rodamos snippets apenas para descobrir que o código colado tinha erros. Alguns realmente, são erros descuidados, como o desenvolvedor não colocar “;” ou fechar uma citação. Outros eram erros funcionais, com o próprio código ou o usuário não seguindo as instruções corretamente.

É fundamental que você tenha o plugin ativado se ele estiver sendo usado no tutorial. Alguns autores de tutorial apenas chamam a função do plugin, diretamente em seu snippet sem ter a instrução condicional para verificar se o plugin existe. Você pode culpar tanto o usuário quanto o autor por isso. O autor deveria ter inserido a instrução condicional no lugar certo, mas o usuário também deveria ter lido o artigo de forma adequada e instalado o plugin necessário.

Há momentos em que você encontra snippets longos, que você realmente deseja. Por exemplo, nosso snippet do Gravity Forms. Alguns autores têm a tendência de explicar o código para seus usuários (o que é uma coisa boa), mas também faz com que haja erros no código. Então, uma coisa que nós fazemos é rolar para baixo ou para cima para tirar o snippet de código final, ao invés de juntar as peças por nós mesmos.

Deparou-se com esses erros? Como você lidou com eles? Você encontrou um problema que nós não mencionamos acima? Se sim, por favor, compartilhe conosco nos comentários.

Deixe seu comentário aqui...

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Nosso site usa cookies e, portanto, coleta informações sobre sua visita para melhorar nosso site (por meio de análise), mostrar a você conteúdo de mídia social e anúncios relevantes. Por favor, consulte nossa página Termos & Políticas para mais detalhes ou concorde clicando no botão 'Aceitar'. OBS: Ao continuar a navegação, você, automaticamente, concorda.

Configurações de Cookies

Abaixo, você pode escolher os tipos de cookies que quer permitir neste site. Clique no botão "Salvar Configurações de Cookies" para aplicar sua escolha.

FuncionalNosso site usa cookies funcionais. Esses cookies são necessários para permitir que nosso site funcione.

AnalíticoNosso site usa cookies analíticos para permitir a análise de nosso site e a otimização para o propósito de a.o. a usabilidade.

Mídia SocialNosso site coloca cookies de mídia social para mostrar conteúdo de terceiros, como YouTube e Facebook. Esses cookies podem rastrear seus dados pessoais.

PublicidadeNosso site coloca cookies de publicidade para mostrar anúncios de terceiros com base em seus interesses. Esses cookies podem rastrear seus dados pessoais.

OutrosNosso site coloca cookies de terceiros de outros serviços que não são analíticos, mídia social ou publicidade.