Guia completo sobre o functions.php do WordPress

Tire todas as suas dúvidas sobre o arquivo functions.php do WordPress e aprenda como editá-lo de forma correta, com total segurança.

Este post foi atualizado pela última vez há mais de 3 meses.

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!

Guia completo sobre o functions.php do WordPress

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.

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.

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 pagesCode 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.

Quero ser cliente da PortoFácil! Entre em contato

Leia também

Textos que têm a ver com este assunto:
TUTORIAL: como resolver erros e problemas no WordPress

Tutorial de como resolver os principais erros e problemas relacionados ao WordPress. Confira nosso passo a passo detalhado de soluções!

Novidades do WordPress 6.7.1

Conheça todas as novidades do WordPress, incluindo melhorias e aprimoramentos em segurança, desempenho e acessibilidade.

Como migrar site de qualquer plataforma para WordPress

Tutorial completo de como migrar site de qualquer plataforma (Drupal, Wix, Tumblr, Blogger, Blogspot, Joomla e Magento) para o WordPress.