Como encontrar, acessar e editar functions.php no WordPress
Publicados: 2022-08-23Se você está apenas começando com o desenvolvimento do WordPress, um dos arquivos mais importantes com os quais você deve se familiarizar é o arquivo functions.php . Na verdade, existem três arquivos functions.php possíveis que você pode usar em seu site WordPress, e cada um desempenha um papel diferente. Saber onde esses arquivos estão, qual é sua finalidade e como e quando modificá-los ajudará você na solução de problemas e lhe dará mais controle sobre a funcionalidade do seu site.
Neste artigo, abordaremos tudo o que você precisa saber sobre os arquivos functions.php do WordPress. Você aprenderá o que o functions.php faz e como encontrá-lo e editá-lo. Incluiremos até mesmo alguns trechos de código úteis para experimentar.
Você pode começar do início e ler ou pular para uma seção específica usando o índice abaixo:
- O que é functions.php no WordPress?
- Onde está localizado o arquivo functions.php ?
- Como acessar o functions.php
- Acessando functions.php em sua interface de administração do WordPress
- Acessando functions.php via FTP
- Acessando functions.php em seu cPanel
- Quando devo editar o functions.php no WordPress?
- Como editar functions.php no WordPress
- Editando functions.php no seu editor de arquivos de tema do WordPress
- Editando functions.php com um editor de texto
- Editando functions.php diretamente no cPanel
- Usando um plugin para adicionar funções ao seu site WordPress
- Como proteger o functions.php de explorações de segurança
- Que código posso adicionar ao functions.php no WordPress?
- Perguntas frequentes
- Preciso criar um tema filho para editar functions.php ?
- Como faço para restaurar o functions.php de um backup se não tiver acesso ao meu painel do WordPress?
- Posso adicionar JavaScript ao meu arquivo functions.php ?
O que é functions.php no WordPress?
No WordPress, o arquivo functions.php é onde reside o código vital que determina a maneira como seu site funciona. Na verdade, existem pelo menos dois arquivos functions.php em cada site WordPress – um incluído no núcleo do WordPress e outro incluído no seu tema. Se você estiver usando um tema filho, você também deve ter um functions.php na pasta do tema filho.
O arquivo functions.php no núcleo do WordPress contém um código importante necessário para que o WordPress funcione. Você quase nunca deve modificar o código no arquivo functions.php do núcleo do WordPress.
O arquivo functions.php do seu tema é onde estão todos os recursos específicos do tema do seu site — como locais de menu personalizados, áreas de widget, conteúdo e funcionalidade de cabeçalho e rodapé personalizados, comprimento de trecho de postagem e muito mais.
O arquivo functions.php do seu tema se comporta da mesma forma que um plugin do WordPress. A diferença é que o functions.php deve ser usado para código específico do tema, enquanto os plugins devem ser usados para a funcionalidade que permanecerá mesmo quando você trocar de tema.
Onde está localizado o arquivo functions.php ?
Já falamos sobre o que o arquivo functions.php faz tanto no núcleo do WordPress quanto nos arquivos de tema, mas como você encontra o arquivo functions.php ? Onde está o functions.php no WordPress?
Todos os seus arquivos do WordPress estão localizados no diretório raiz do seu site e em várias subpastas. Seu diretório raiz geralmente é nomeado como public_html ou www , mas pode ter um nome diferente. Se você não tiver certeza de onde encontrar a pasta de instalação do WordPress em seu servidor, entre em contato com seu host.
Depois de encontrar onde seus arquivos do WordPress estão localizados em seu servidor, você pode começar a procurar por seus arquivos functions.php . Mencionamos que existem até três locais para functions.php : núcleo do WordPress, sua pasta de tema e sua pasta de tema filho. Nesta seção, veremos onde encontrar cada um.
Onde está o functions.php no núcleo do WordPress?
Se você estiver procurando a localização de functions.php no núcleo do WordPress, você o encontrará na pasta wp-includes da sua instalação do WordPress.

Embora você nunca deva editar functions.php no núcleo do WordPress, você pode precisar inspecioná-lo por um motivo ou outro. O cenário mais provável para bisbilhotar o functions.php no núcleo do WordPress é se você suspeitar que um malware foi injetado nele.
Antes mesmo de abrir o functions.php , você deve fazer um backup do seu site WordPress para o caso de acidentalmente fazer uma alteração no arquivo que cause um erro crítico. Se você achar que o functions.php foi corrompido ou hackeado, é provável que você tenha outras áreas do WordPress afetadas. A melhor coisa a fazer é simplesmente substituir o WordPress por uma nova instalação, em vez de tentar remover todos os scripts ofensivos um por um.
Onde está o functions.php na pasta do meu tema WordPress?
O arquivo functions.php do seu tema está localizado no diretório principal da pasta do seu tema: wp-content → themes → yourtheme .

Onde está o functions.php na pasta do tema filho do WordPress?
O arquivo functions.php do tema filho do WordPress está localizado no diretório principal da pasta do seu tema filho: wp-content → themes → yourtheme-child .

Como acesso o functions.php ?
Saber onde o functions.php mora é apenas metade do trabalho. Agora vem a questão de como acessar o functions.php no WordPress. Enquanto o arquivo functions.php no núcleo do WordPress só pode ser acessado através do protocolo de transferência segura de arquivos (SFTP) ou através do cPanel, seus arquivos functions.php de tema e tema filho também podem ser acessados no Editor de Arquivos de Tema do WordPress.
Acessando functions.php no editor de arquivos de tema do WordPress
Se você precisar acessar o arquivo functions.php do seu tema ou tema filho, poderá fazê-lo diretamente do Editor de arquivos de tema do WordPress. No painel do WordPress, vá para Aparência → Editor de arquivo de tema .
Você será levado para a página Editar temas . A partir daqui, na lista suspensa ao lado de Selecionar tema para editar , escolha seu tema e clique em Selecionar . Você verá uma lista de arquivos disponíveis para edição na coluna Arquivos de tema na extremidade direita da tela. Clique em functions.php para abrir o arquivo.

Se você estiver no arquivo functions.php do seu tema pai, verá um aviso na parte inferior da tela acima do botão Atualizar arquivo que diz: “Cuidado: este é um arquivo em seu tema pai atual”.
Nota: Se você não for o desenvolvedor do tema, você deve fazer suas alterações no arquivo functions.php do seu tema filho para evitar que suas edições sejam substituídas em futuras atualizações do tema. |
Acessando functions.php via SFTP
Etapa 1: instale seu cliente SFTP. Se você ainda não tiver um cliente SFTP, precisará fazer o download de um. Existem algumas ótimas opções gratuitas e premium por aí, incluindo:
Inscrição | Sistema | Gratuito ou Premium |
WinSCP | janelas | Livre |
Filezilla | Windows, Mac, Linux | Opções gratuitas e premium |
Cyberduck | Windows, Mac | Livre |
Transmite | Mac | Prêmio |
Neste exemplo, usaremos o Filezilla. Outros clientes SFTP devem funcionar de maneira semelhante.
Etapa 2: Recupere suas credenciais de SFTP. Para fazer login em seu servidor via SFTP, você precisará dos seguintes detalhes:
- Host (endereço IP ou URL do seu servidor)
- Nome de usuário SFTP
- Senha
- Número da porta
Esses detalhes geralmente podem ser encontrados em seu painel de controle de hospedagem. Essas informações podem ser geradas para você ou seu host pode solicitar que você crie um nome de usuário e senha SFTP. Se você não souber onde encontrar essas credenciais ou tiver problemas para descobrir como criá-las, pesquise a documentação de ajuda do seu host para obter instruções ou entre em contato com a equipe de suporte.
Etapa 3: insira suas credenciais de SFTP.
Digite o endereço IP ou url do seu host, seu nome de usuário SFTP, senha e o número da porta (geralmente 22 ou 2222, mas alguns hosts podem usar uma porta diferente).

Observação: você pode receber um alerta de 'chave de host desconhecida' se seu cliente SFTP usar a autenticação de confiança no primeiro uso (TOFU). Marque 'Sempre confiar neste host, adicione esta chave ao cache' se você planeja usar seu cliente SFTP para acessar o site novamente. Clique em OK para prosseguir.

Etapa 4: Navegue até o diretório raiz do seu site.
Depois de fazer login, você verá duas árvores de arquivos exibidas no botão da tela - uma à esquerda e outra à direita. O lado direito lista os diretórios em seu servidor web (remoto). O lado esquerdo lista os diretórios em seu computador (local).
Seu diretório raiz geralmente está em uma pasta chamada www ou public_html , mas pode usar um nome diferente. Se você não tiver certeza de qual pasta procurar, pergunte ao seu provedor de hospedagem. Você saberá que está na pasta correta se vir as pastas wp-admin , wp-content e wp-includes perto do topo da sua lista de arquivos.

Passo 5: Navegue até functions.php no núcleo do WordPress, seu tema pai ou tema filho. Se estiver procurando por functions.php no núcleo do WordPress, você navegará até a pasta wp-includes .
Se você estiver procurando por functions.php em seu diretório de temas, você navegará até wp-content → themes → yourtheme .
Para encontrar o arquivo functions.php do seu tema filho, vá para wp-content → themes → yourtheme-child.
Etapa 6: Baixe o functions.php . Agora que você sabe onde o functions.php está localizado e o acessou, talvez queira inspecionar ou editar o arquivo. Antes de fazer isso, você precisará baixá-lo. Clique com o botão direito do mouse no arquivo functions.php e selecione Download . Seu arquivo será baixado para sua máquina local.

Acessando functions.php no cPanel
Se seu host usa cPanel, você pode acessar functions.php através de seu gerenciador de arquivos. Se você não sabe como encontrar o cPanel no painel do seu host, entre em contato com o suporte ao cliente para obter ajuda.
Passo 1: Abra o Gerenciador de Arquivos do cPanel. Quando estiver no cPanel, navegue até a seção Arquivos e clique em Gerenciador de Arquivos .
Passo 2: Abra a pasta raiz do seu site. A pasta raiz é comumente chamada de www ou public_html , mas pode ter outro nome. As convenções de nomenclatura da pasta raiz diferem em alguns hosts, portanto, se você não tiver certeza de qual pasta procurar, pergunte ao seu provedor de hospedagem.
Você saberá que está na pasta correta se vir as pastas wp-admin , wp-content e wp-includes perto do topo da sua lista de arquivos.
Etapa 3: encontre e baixe functions.php . O arquivo functions.php para o núcleo do WordPress está localizado na pasta wp-includes .
O arquivo functions.php do seu tema está localizado em wp-content → themes → yourtheme .
Se você estiver procurando pelo arquivo functions.php do seu tema filho, você pode encontrá-lo em wp-content → themes → yourtheme-child.
Quando você encontrar o arquivo functions.php que está procurando, clique com o botão direito do mouse em functions.php e clique em Download , ou clique uma vez em functions.php e clique na opção Download no menu superior.

Se você renomear seu arquivo ao salvá-lo, certifique-se de nomeá-lo de volta para functions.php antes de reenviá-lo. E antes de fazer alterações e substituir functions.php , faça backup do seu site WordPress.
Quando devo editar o functions.php no WordPress?
Antes de nos aprofundarmos em como editar functions.php , devemos falar sobre se e quando você deve editá-lo. Há muitas razões pelas quais você pode querer editar o código PHP no WordPress, mas adicionar esse código ao seu arquivo functions.php nem sempre é a melhor opção e só deve ser feito sob certas circunstâncias, que discutiremos abaixo.
Quando editar functions.php no núcleo do WordPress
Nunca. Você não deve editar functions.php no núcleo do WordPress. No máximo, você pode substituí-lo se achar que ele foi corrompido, mas excluir ou adicionar código ao WordPress core functions.php provavelmente quebrará seu site. Assim, você pode abri-lo, inspecioná-lo, substituí-lo por uma nova cópia se precisar, mas não mexa em nenhum site ativo.
Quando editar functions.php em seu tema
Quando se trata do arquivo functions.php do seu tema, você pode ou não precisar editá-lo. Se você estiver criando seu próprio tema, certamente desejará adicionar algum código personalizado a functions.php . Praticamente todo tema tem código em seu arquivo functions.php que lhe dá um conjunto único de recursos e capacidades. Além de suas folhas de estilo, essas funções são uma grande parte do que torna um tema diferente de outro.
Se você estiver adicionando código ao arquivo functions.php do seu tema que não é específico para o seu tema e pode ser usado independentemente do seu tema, considere torná-lo um plugin. Dessa forma, você pode usar esse recurso em vários temas e até enviá-lo para a biblioteca de plugins do WordPress.org, onde pode beneficiar outros usuários do WordPress.
Antes de criar seu plugin, verifique a biblioteca de plugins para certificar-se de que o que você está criando ainda não existe. Se já existir uma solução de qualidade, talvez você queira economizar energia de desenvolvimento para um recurso personalizado diferente em seu site.
Quando editar functions.php em seu tema filho
Se você estiver usando um tema de um desenvolvedor e quiser modificar o arquivo functions.php , você deve sempre usar um tema filho para fazer essas alterações. Quando os desenvolvedores de temas lançam uma nova versão de seu tema e você atualiza para a mais recente, seu tema atual é substituído pelos novos arquivos — incluindo functions.php .
Os temas filho não são afetados pelas atualizações do tema pai, portanto, você manterá todo o seu código personalizado se fizer alterações no arquivo functions.php de um tema filho.
Antes de adicionar código, considere se usar um plug-in seria uma solução melhor. O código que você está adicionando é específico para o seu tema? Edite o arquivo functions.php do seu tema filho. O código que você está adicionando é algo que ainda deseja ter se alterar os temas no futuro (por exemplo, código de rastreamento do Google Analytics ou pixel do Facebook)? Use um plug-in.
Como editar functions.php no WordPress
Você deve sempre tomar medidas para proteger seu site de qualquer erro que possa cometer ao editar o functions.php . Portanto, antes de começar a fazer edições, faça backup do seu site e considere criar um site de teste para testá-los primeiro. Dessa forma, seu site ao vivo não será interrompido se você acidentalmente adicionar algum código ao functions.php que cause grandes problemas ou — pior ainda — trave seu site completamente.
Agora que você fez o backup do seu site, você pode passar para a edição do seu arquivo functions.php .
Como editar functions.php no editor de arquivos de tema do WordPress
Editar functions.php no Editor de arquivos de tema do WordPress é um pouco arriscado. Se você estiver usando esta ferramenta porque não tem acesso ao cPanel ou SFTP, estará em uma situação muito ruim se suas edições causarem um erro fatal que o impeça de acessar seu painel do WordPress.
Se você deseja editar functions.php no Editor de Arquivos de Tema, certifique-se de ter acesso direto ao servidor e seus backups para poder restaurar seu arquivo de backup rapidamente.
Você pode encontrar o Editor de arquivo de tema do WordPress em Aparência → Editor de arquivo de tema no painel de administração do WordPress.
Você será levado para a tela Edit Themes, onde você deve selecionar seu tema filho, então selecione o arquivo functions.php na coluna Theme Files à direita de sua tela.

Se você selecionou o tema pai, verá um aviso na parte inferior da tela que diz: " Cuidado: este é um arquivo em seu tema pai atual". Você não quer fazer edições no arquivo functions.php do seu tema pai porque suas alterações serão substituídas na próxima vez que você atualizar seu tema.
Se você vir funções em seu arquivo que não entende, o WordPress inclui um recurso útil de pesquisa de documentação logo acima do botão Atualizar arquivo . Clique na lista suspensa e pesquise o nome da função sobre a qual deseja saber mais e clique em Pesquisar . Você será direcionado para a documentação do WordPress.org para essa função.
Quando terminar as alterações, clique em Atualizar arquivo . Verifique o front-end e o back-end do seu site para garantir que tudo ainda esteja funcionando conforme o esperado. Se você encontrar um erro fatal e precisar restaurar o functions.php do seu backup, você pode fazer isso no cPanel ou via SFTP.
Editando functions.php com um editor de texto
A melhor maneira de editar functions.php é no software de edição de código de sua escolha. Como você está editando uma cópia offline em seu computador local, não é necessário estar conectado à Internet para trabalhar em seu arquivo. Você também terá mais controle sobre quando confirmar suas alterações em seu site ativo.
Você pode editar seu código sempre que quiser e fazer upload de suas alterações no momento em que seu site normalmente recebe menos tráfego. Dessa forma, se houver algum problema, o menor número de visitantes será impactado.
Passo 1: Abra functions.php em seu editor de texto. Se você não estiver familiarizado com o uso de um editor de texto, existem várias opções gratuitas para escolher.
Código-fonte gratuito e editores de texto simples:
Inscrição | Sistema |
Bloco de notas++ | janelas |
Atom.io | Windows, Mac, Linux |
Sublime | Windows, Mac, Linux |
Edição de texto * verifique se você está no modo de texto simples | Mac (aplicativo padrão) |
Bloco de anotações | Windows (aplicativo padrão) |
Passo 2: Edite functions.php e salve em sua máquina local. Sua exibição pode parecer diferente dependendo de qual programa você usa para editar seu arquivo functions.php . É assim que o código PHP se parece no atom.io:

Adicione ou altere as informações necessárias e salve seu arquivo.
Passo 3: Faça login no seu servidor web via SFTP ou cPanel. Navegue até a pasta do seu tema ou tema filho e encontre o arquivo functions.php .
Passo 4: Altere o nome do arquivo functions.php em seu servidor web. Caso sua versão editada contenha erros, você não deseja substituir seu arquivo functions.php original. Você fez um backup, é claro, mas ao invés de ter que puxar o arquivo functions.php do seu backup, você terá seu arquivo original em mãos.
Você quer poder restaurar o arquivo functions.php rapidamente se algo der errado, então renomeá-lo para algo como 'functions-orginal.php' garantirá que o conteúdo do arquivo original seja preservado em seu servidor.

Passo 5: Carregue o functions.php da sua máquina local para o seu servidor web. Usando SFTP ou cPanel, carregue seu arquivo functions.php para o diretório principal do seu tema ou tema filho.
Etapa 6: visite seu site para verificar se ele está funcionando corretamente. Depois de fazer o upload do arquivo functions.php , você deve verificar se tudo está funcionando em seu site. Visite o front-end e faça login no painel do WordPress para garantir que tudo esteja acessível e seja exibido e funcione corretamente.

Etapa 7: Exclua o arquivo functions.php antigo e renomeado. Uma vez que você tenha estabelecido que seu site está funcionando corretamente, você pode excluir functions-original.php (ou qualquer outro nome para o qual você o renomeou). Se você encontrar um problema no futuro, você ainda deve ter seu arquivo functions.php do backup que você fez.
Editando functions.php diretamente no cPanel
Se você não tem ou não quer usar um editor de código fonte, você pode editar functions.php diretamente no cPanel (se seu host usa cPanel). Como editar no Editor de arquivos de tema do WordPress, é um pouco mais arriscado do que trabalhar em sua máquina local. Se sua conexão com a Internet for interrompida durante a edição, você poderá perder suas alterações. Você também corre o risco de potencialmente sobrescrever seu arquivo functions.php original.
Passo 1: Encontre functions.php no cPanel. No cPanel, clique em Gerenciador de Arquivos .
Navegue até sua pasta raiz (geralmente public_html ou www , mas pode ter um nome diferente).
Etapa 2: Faça uma cópia de functions.php . No menu principal do Gerenciador de Arquivos, clique em + Pasta para adicionar uma nova pasta. Você vai querer fazer uma cópia do seu arquivo functions.php e salvá-lo aqui como backup.
Nomeie sua nova pasta com algo fácil de identificar, como 'funções de backup', para que você possa encontrá-la facilmente mais tarde. Clique em Criar Nova Pasta .

Passo 3: Encontre functions.php em seu tema ou pasta de tema filho e copie-o para a pasta de backup. Em seu tema ou pasta de tema filho, role para baixo até functions.php e clique com o botão direito do mouse no nome do arquivo. Selecione Copiar .

Uma caixa de diálogo aparecerá solicitando que você insira o caminho para o qual deseja copiar o arquivo. O caminho para a pasta em que você está será pré-preenchido, portanto, se o caminho do arquivo para a pasta de backup for diferente do que você vê, digite o caminho correto. Clique em Copiar Arquivo(s) .
Etapa 4: Navegue de volta para functions.php no diretório do tema ou tema filho. Agora que você tem um backup, você pode voltar ao arquivo functions.php no diretório do tema ou tema filho e começar a editar.
Clique com o botão direito do mouse em functions.php e clique em Editar .
Etapa 5: Editar functions.php . Agora você deve ver o conteúdo do seu arquivo functions.php na tela. Deve ser algo assim:

Adicione ou altere qualquer informação necessária e salve seu arquivo.
Usando um plugin para adicionar funções ao seu site WordPress
Em vez de modificar diretamente o arquivo functions.php , você pode usar um plugin como Code Snippets para adicionar funções ao seu site. Se você precisar adicionar um número razoável de funções ao seu site, pode ser fácil perder o controle de quais funções você ainda precisa e quais não.
Code Snippets fornece uma interface gráfica do usuário (GUI) para gerenciar seus blocos de código PHP. Você pode adicionar descrições para saber o que o código deve fazer e ativar e desativar blocos de código, como ativar e desativar um plug-in.
Como você não está fazendo alterações em functions.php , é um método muito mais seguro de adicionar funções PHP ao seu site WordPress.
Como proteger o functions.php de explorações de segurança
O arquivo functions.php é frequentemente alvo de hackers, portanto, mantê-lo seguro deve ser uma alta prioridade. Siga as etapas a seguir para ajudá-lo a proteger seu arquivo functions.php :
1. Instale um plug-in de segurança
Ao usar um plug-in de segurança, você desfrutará de proteção avançada contra hackers em várias áreas do seu site.
O Jetpack Security é uma opção barata que ajuda a manter seu site protegido contra ataques maliciosos. Ele inclui verificação de malware e correções com um clique, proteção contra ataques de força bruta, monitoramento de tempo de inatividade, um log de atividades para que você saiba se e quando seu site foi invadido e proteção de login por meio de autenticação de dois fatores (2FA).

O Jetpack Security também monitora seu site para quaisquer alterações nos arquivos principais do WordPress, plugins desatualizados ou inseguros e outras vulnerabilidades para que você possa pegá-los antes que um hacker os encontre e tire vantagem.
Além disso, ele fornece backups do WordPress em tempo real para que você possa restaurar rapidamente uma versão limpa se algo der errado - mesmo que você não consiga fazer login no seu site.
2. Negue acesso ao WordPress core functions.php através do . arquivo htaccess
Se o seu site estiver hospedado em um servidor Apache, você poderá usar um arquivo . htaccess para ajudar a proteger seu arquivo functions.php core do WordPress, bloqueando o acesso a toda a pasta wp-includes .
Etapa 1: baixar .htaccess
Usando SFTP ou cPanel, navegue até a pasta raiz do seu site. Clique com o botão direito em . htaccess e selecione Download para baixar o arquivo para seu computador local.
Etapa 2: adicionar código para bloquear o acesso à pasta wp-includes
Em um código-fonte ou editor de texto simples, abra . htaccess e adicione o seguinte código:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
Salve seu arquivo. Certifique-se de que seu programa de edição não inclua uma extensão de arquivo. Se você estiver usando o Notepad++ ou Text Edit, ele pode adicionar uma extensão de arquivo .txt. O arquivo deve simplesmente ser nomeado '.htaccess.'
Etapa 3: faça upload do arquivo . htaccess de volta para a pasta raiz
Carregue o seu editado. htaccess de volta para a pasta raiz do seu site. Você será perguntado se deseja substituir o arquivo existente. Clique em OK .
Agora seu. htaccess deve bloquear o acesso externo a qualquer arquivo em sua pasta wp-includes , incluindo functions.php .
3. Negue acesso a functions.php usando functions.php
Você pode bloquear o acesso direto ao seu arquivo functions.php adicionando o seguinte trecho de código diretamente a functions.php .
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }
4. Oculte functions.php fora do diretório raiz
Os hackers sabem a localização padrão de todos os arquivos padrão do WordPress. Alterar a localização de arquivos confidenciais para uma pasta de acesso restrito fora do diretório raiz pode mantê-lo fora do alcance de hackers. Este processo é um pouco mais complicado do que apenas adicionar algum código ao seu arquivo .htaccess , mas vale a pena o esforço extra para a camada adicional de proteção ao seu site.
Em apenas alguns passos, você pode proteger o functions.php fora da pasta raiz.
Passo 1: Baixe seu arquivo functions.php atual
Se você estiver movendo o arquivo functions.php do seu tema, você o encontrará em wp-content → themes → yourtheme . O arquivo do seu tema filho estará em wp-content → themes → yourtheme-child .
Depois de encontrar seu arquivo functions.php , baixe-o para o seu computador via SFTP ou cPanel.
Etapa 2: crie um novo diretório fora da pasta raiz
Navegue fora do seu diretório raiz para o próximo nível da pasta de arquivos. Você deve ver o nome da sua pasta raiz, bem como várias outras pastas. Nesse diretório, clique com o botão direito e selecione Criar diretório .

Dê ao seu diretório um nome que seja fácil de lembrar como o local do seu arquivo functions.php .
Etapa 3: Faça upload de functions.php para sua nova pasta
Carregue o arquivo functions.php que você baixou anteriormente em sua nova pasta via SFTP ou cPanel.

Verifique suas novas permissões de pasta e arquivo functions.php e certifique-se de que estejam definidas como 600.

Passo 4: Aponte o WordPress para o novo arquivo functions.php
Você deve ter um arquivo functions.php em seu novo diretório, assim como o arquivo functions.php original que ainda está na pasta do seu tema. Para que o WordPress encontre e use o arquivo correto, você deve excluir todas as informações do arquivo functions.php do seu arquivo de tema e o seguinte trecho de código:
<?php include('/home3/usr/securefunctions/functions.php'); ?>
Observação: o caminho do arquivo será diferente, pois você usará os nomes de diretório do servidor.
No cPanel, você pode abrir o arquivo functions.php do diretório raiz e editá-lo diretamente ou pode editar a cópia que baixou para sua máquina local anteriormente usando um editor de código-fonte. Para este exemplo, editamos a cópia que baixamos anteriormente usando o Atom.io.
Salve seu arquivo functions.php e faça o upload de volta para o diretório do seu tema.

Você será perguntado se deseja substituir o arquivo. Clique em OK .
Agora, o WordPress deve fazer referência ao seu novo arquivo functions.php em seu local seguro fora da pasta raiz.
4. Altere o nome do seu arquivo functions.php
Alterar o nome do seu arquivo functions.php é outro passo que você pode tomar para mantê-lo protegido contra hackers. Você precisará hospedar esse arquivo fora de sua pasta raiz, portanto, se você seguiu o processo em Ocultar funções.php fora do diretório raiz , precisará apenas realizar algumas etapas adicionais.
Etapa 1: Em seu diretório seguro fora da pasta raiz, altere o nome do arquivo functions.php
Vá para a pasta functions.php hospedada fora do seu diretório raiz e altere o nome do arquivo para algo único, como 'keep-out.php' ou 'these-are-not-the-functions-you-are-looking-for. php' . Ok, esse último é um pouco longo, mas realmente não importa como você o chama, desde que você o inclua no caminho do arquivo na cópia da pasta do tema de functions.php .
Etapa 2: edite o código em functions.php em seu diretório raiz para refletir a mudança de nome
Agora que você alterou o nome para algo diferente de functions.php , você precisará certificar-se de que a cópia do diretório de seu tema de functions.php esteja apontando para o nome de arquivo correto.
Baixe a cópia da pasta raiz de functions.php para seu computador local e edite-a com seu editor de texto. Altere o nome do arquivo functions.php para seu novo nome de arquivo e salve seu arquivo.
<?php include('/home3/usr/secureconfig/keep-out.php'); ?>
Etapa 3: Faça upload do functions.ph p de volta para o diretório do tema
Você será perguntado se deseja substituir o arquivo existente. Clique em OK .
Agora o WordPress deve apontar para o seu arquivo de funções renomeado.
Camadas adicionais de segurança para functions.php
Você pode adicionar alguma proteção adicional ao seu site como um todo, incluindo seu arquivo functions.php , fazendo alterações semelhantes em seu arquivo wp-config , como renomeá-lo, hospedá-lo fora do diretório raiz e negar acesso público.
Se você vir um código suspeito em seus arquivos functions.php e estiver preocupado com a possibilidade de já ter sido hackeado, leia como detectar e remover malware do seu site WordPress.
Que código posso adicionar ao functions.php no WordPress?
Existem muitos trechos de código diferentes que você pode adicionar ao seu arquivo functions.php do WordPress. No entanto, muitas vezes você é mais bem servido usando um plug-in (ou escrevendo seu próprio plug-in) para muitas funções. Se o código que você deseja adicionar for específico ao seu tema, você poderá adicionar esse código PHP ao arquivo functions.php do seu tema filho.
Abaixo estão algumas funções úteis que você pode inserir no arquivo functions.php do seu tema filho:
Adicionando um novo usuário administrador em functions.php
Se você perdeu o acesso de administrador ao seu painel do WordPress e não consegue recuperar seu nome de usuário ou senha por e-mail, você pode criar um novo usuário administrador por meio de sua conta de hospedagem. Seja via SFTP ou cPanel, você pode baixar seu arquivo functions.php e adicionar o seguinte código para criar um novo usuário administrador para seu site.
function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );
No código acima, substitua 'your-username', 'your-password' e 'your-email' por suas próprias credenciais. Salve seu arquivo functions.php e reenvie-o para a pasta do seu tema. Isso criará um novo usuário administrador com o nome de usuário, senha e endereço de e-mail que você atribuiu no código.
Depois de fazer o upload do arquivo, navegue até a página de login do seu site e use seu novo nome de usuário e senha para fazer login. Assim que seu login for bem-sucedido e você confirmar que tem privilégios de administrador, remova o código adicionado ao crie sua nova conta de administrador em functions.php .
Adicionando e removendo tamanhos de imagem em functions.php
Quando você carrega uma imagem para a Biblioteca de Mídia do WordPress, várias variações de sua imagem são geradas. O WordPress tem miniaturas padrão, tamanhos pequeno, médio e grande que são usados além de sua imagem em tamanho real. Seu tema geralmente vai puxar o tamanho ideal da imagem para partes individuais do seu site.
Se você estiver criando seu próprio tema ou precisar fazer modificações em um tema filho para acomodar tamanhos de imagem personalizados adicionais, poderá fazê-lo em seu arquivo functions.php .
Use o código a seguir e altere o nome do tamanho de imagem personalizado de 'custom-small-square' e 'custom-landscape' para qualquer nome que você gostaria de usar. Os números ao lado do nome do tamanho de imagem personalizado representam o tamanho da imagem em pixels, portanto, insira os valores de pixel com largura primeiro e altura depois.
function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );
Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.
If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:
add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }
If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.
Use functions.php to allow additional file types in uploads
WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.
To add more allowed file types to WordPress, add the following code to your child theme's functions.php :
function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);
For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.
You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.
Frequently asked questions about editing the functions.php file in WordPress
We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.
Do I really need to use a child theme to edit functions.php ?
A resposta curta? Sim.
If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.
Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! Gone.
Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.
I edited functions.php and now I don't have access to my WordPress dashboard. Ajuda!
In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!
There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.
I know what code I messed up. I just need to access and edit functions.php to fix it.
See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.
I have no clue what I did to my functions.php file, but I have a backup.
If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.
If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.
I have no idea what code caused the problem and I didn't make a backup.
If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.
Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .
Can I add JavaScript to my functions.php file?
Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.