Sem dúvidas o arquivo functions.php
é o coração de um template WordPress. Pra bom entendedor, é graças a este arquivo que o WordPress permite adicionar trechos de códigos para incrementar ou turbinar o seu site ou blog.
Inclusive, você pode usar esses trechos de código de várias maneiras úteis e, por isso, entender completamente como o arquivo functions.php
funciona pode te ajudar a construir um modelo de layout ainda melhor!

Neste artigo vamos desmitificar o arquivo functions.php
do WordPress e você vai aprender tudo que precisa para poder editar cada linha de código.
Seções desta página
O que o arquivo functions.php do WordPress faz
Basicamente, o arquivo functions.php
do WP serve para adicionar trechos personalizados de códigos que servem para turbinar ainda mais o seu site, ou modificar alguns elementos e/ou áreas específicas do layout ou template WordPress.
Embora esteja incluído no template do WordPress, o arquivo functions.php
não se limita apenas a personalizações. Com ele é possível fazer ajustes avançados em qualquer parte de um site que tem o WordPress como base, assim como os plugins instalados e ativos.
Dentre os principais ajustes que é possível fazer com o functions.php
são:
- Alterar o comportamento central do WordPress, como quantas postagens mostrar na página de resultados de pesquisa ou, por exemplo, que tipo de conteúdo incluir em um determinado local do seu site;
- Opção de poder criar seus próprios códigos de acesso personalizado. Adicionando novo conteúdo, bem como a injeção de scripts que vão te auxiliar a turbinar ainda mais o seu site;
Vale ressaltar que esta é apenas a ponta do iceberg… Com o arquivo functions.php
é possível adicionar trechos de códigos PHP customizados ao invés de código HTML estático. Sem dúvidas, o céu é o limite quando estamos falando deste arquivo.
- Como desativar blocos de widgets e restaurar widgets clássicos
- Woocommerce Hooks: os melhores filtros e ações para sua loja virtual
Onde fica o arquivo functions.php do WordPress
O arquivo functions.php
do WordPress está localizado dentro do diretório do seu template WordPress ativo, junto com os demais arquivos do layout.
Para encontrá-lo, basta navegar usando um cliente sFTP até o caminho .../wp-content/themes/[nome-do-tema]/functions.php
Como trabalhar em segurança com o arquivo functions.php
Este, sem dúvidas, é um ponto crítico quando estamos trabalhando dentro do arquivo functions.php
. Ainda mais que isso envolve a criação e edição de códigos extras.
Por isso, mesmo que possa parecer simples, nossa recomendação é seguir algumas práticas para manter a segurança do seu site ou blog WordPress para que não tenha problemas posteriormente.
Por exemplo, se você usar uma vírgula em um lugar errado — ou faltando — dentro deste arquivo, todo o site pode ficar quebrado, ou totalmente offline, ou com a tão temida tela branca da morte do WordPress
Mesmo que nas novas versões o WP tenha se preocupado mais neste tipo de segurança por erro de edição, gerando avisos e mensagens que “houve um erro crítico em seu site” ou até mesmo marcando erros de sintaxe PHP, ainda assim é importante seguir algumas práticas antes de colocar a mão na massa.
Faça backup antes de fazer alterações no functions.php
Fazer backup do seu site é extremamente importante antes de fazer qualquer alteração no arquivo functions.php
ou em qualquer outro arquivo do seu site. Esse passo é extremamente importante porque qualquer tipo de erro de digitação pode causar sérios problemas.
Sem contar que, caso não faça backup e, por algum motivo, seu site apresente problemas técnicos, como você vai voltar para a versão ativa e funcional de antes?
Nossa recomendação é nunca subestimar a importância do backup! Seja ele de banco de dados ou backup de conteúdo e arquivos do WordPress.
Use um Child Theme para editar o functions.php
Além do backup, outra dica importante é fazer as edições do arquivo functions.php
usando um Child Theme.
Isso também ajuda em casos de problemas técnicos. E caso acontecer algum erro durante sua aventura com o functions.php
, basta restaurar os dados do template original.
Sem contar que usar um tema filho é uma boa maneira de desenvolvimento dentro do WordPress, pois permite fazer alterações dentro do WordPress sem afetar o código orginal do template do WordPress.
Criar um Child Theme é algo muito simples e, caso queira criar o seu próprio, temos um artigo que ensina detalhadamente como criar e ativar um Child Theme:
Os melhores hacks para usar no functions.php
Agora que você já entende praticamente tudo sobre o arquivo functions.php
, vamos mostrar alguns hacks bem legais para você começar a usar.
Ativando o atributo “defer” para todos os scripts
/* =================================================== */
/* MAKE JAVASCRIPT DEFER
====================================================== */
add_filter( 'script_loader_tag', function ( $tag, $handle ) {
if( is_admin() ) {
return $tag;
}
return str_replace( ' src', ' defer src', $tag );
}, 10, 2 );
Code language: PHP (php)
Gerando tag “Alt” automaticamente para imagens
/* =================================================== */
/* AUTO GENERATE ALT TAG FOR IMAGES
====================================================== */
function add_alt_tags($content) {
global $post;
preg_match_all('/<img (.*?)\/>/', $content, $images);
if(!is_null($images)) {
foreach($images[1] as $index => $value) {
if(!preg_match('/alt=/', $value)) {
$new_img = str_replace('<img', '<img alt="'.$post->post_title.'"', $images[0][$index]);
$content = str_replace($images[0][$index], $new_img, $content);
}}}
return $content; }
add_filter('the_content', 'add_alt_tags', 99999);
Code language: PHP (php)
Carregando os scripts JQuery no footer.php
/* =================================================== */
/* LOAD JQUERY ON FOOTER
====================================================== */
function jquery_footer() {
wp_dequeue_script('jquery');
wp_dequeue_script('jquery-core');
wp_dequeue_script('jquery-migrate');
wp_enqueue_script('jquery', false, array(), false, true);
wp_enqueue_script('jquery-core', false, array(), false, true);
wp_enqueue_script('jquery-migrate', false, array(), false, true);
}
add_action('wp_enqueue_scripts', 'jquery_footer');
Code language: PHP (php)
Removendo informações desnecessárias no wp_head()
/* =================================================== */
/* CLEARING WP_HEAD
====================================================== */
remove_action( 'wp_head', 'rsd_link' ); // Remove RSD and EditURI
remove_action( 'wp_head', 'wlwmanifest_link' ); // Remove manifest link
remove_action( 'wp_head', 'index_rel_link' ); // Remove link index
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // Rremove rel=start link
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Remove links to related posts
remove_action( 'wp_head', 'wp_generator' ); // Remove WP version and content generator
remove_action( 'wp_head', 'wp_get_archives' ); // Remove list of links to archive pages
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); // Remove shortlinks
remove_action( 'wp_head', 'feed_links', 2 ); // Remove Feed links
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Remove Feed links
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 ); // Remove rest output
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 ); // Remove oEmbed
remove_action( 'wp_head', 'wp_resource_hints', 2 ); // Remove resource hints
remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); // Remove emojis
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); // Remove emojis
remove_action( 'wp_print_styles', 'print_emoji_styles' ); // Remove emojis
remove_action( 'admin_print_styles', 'print_emoji_styles' ); // Remove emojis
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); // Remove emojis admin pages
remove_action( 'admin_print_styles', 'print_emoji_styles' ); // Remove emojis admin pages
Code language: JavaScript (javascript)
Resumo
Enfim, o arquivo functions.php
é basicamente o coração de um tema WordPress. Com ele é possível adicionar snippets de código personalizado ao site ou blog. Além de fazer modificações em várias áreas do internas, como comportamentos padrões do WP, criação de shortcodes personalizados, criação e adição de conteúdo e scripts, entre várias outras.
Por estar localizado dentro do diretório do tema ativo do WordPress, é muito importante seguir boas práticas ao trabalhar com ele, como fazer backup do site antes de realizar qualquer tipo de alteração e utilizar um Child Theme para evitar que as personalizações sejam sobrescritas durante atualizações do tema.
Fica a dica!
Foto: Pankaj Patel via Unsplash.