Skip to content

Tudo para WordPress, desenvolvimento web — e não só

🗂 Como fazer backup de um tema do WordPress

🗂 Como fazer backup de um tema do WordPress

Passou semanas a afinar o seu tema: estilos personalizados, edições de templates, cores e fontes alinhadas com a marca. Depois, algo corre mal. Uma atualização mal sucedida, um conflito de plugins, uma eliminação acidental de ficheiros e todo o seu trabalho fica em risco. Reinstalar o tema a partir do repositório significa começar do zero e perder tudo o que alterou manualmente.

Uma cópia de segurança do seu tema WordPress não é o mesmo que uma cópia de segurança completa do site. Uma cópia completa pesa gigabytes e inclui a base de dados, plugins e ficheiros multimédia. Uma cópia do tema é um instantâneo leve das suas definições e edições específicas, que pode restaurar num minuto. Este guia aborda quatro métodos funcionais: do FTP simples ao código programático. Vai aprender a copiar tanto os ficheiros de template como as definições do personalizador, que são armazenadas separadamente na base de dados. Independentemente do método que escolher, após a leitura terá um plano de ação pronto para qualquer emergência com o tema.

💡 Visão geral rápida:

  • Descarregue e instale o cliente FTP FileZilla, ligue-se ao seu servidor e copie a pasta do tema de wp-content/themes/ para o seu computador
  • Instale o plugin UpdraftPlus a partir do repositório do WordPress, marque apenas "Temas" nas definições de cópia de segurança e clique em "Fazer Cópia Agora"
  • Abra o editor de temas integrado do WordPress, copie o conteúdo de cada ficheiro um a um e guarde-os com os mesmos nomes
  • Adicione código PHP ao functions.php do seu tema ativo para criar uma página para exportar e importar definições do tema através da base de dados
Código num ecrã de portátil, processo de backup de ficheiro de tema WordPress

1. Fazer cópia de segurança do seu tema via FTP (FileZilla)

O acesso FTP está disponível em qualquer fornecedor de alojamento e é o caminho mais direto para os ficheiros do seu tema no servidor. Entre os clientes FTP, recomendamos o FileZilla: gratuito, de código aberto e funciona em Windows, macOS e Linux.

O que precisa: o cliente FTP FileZilla e as credenciais FTP do seu fornecedor de alojamento (servidor, utilizador, palavra-passe). Se perdeu estes dados, solicite-os ao suporte do seu alojamento; este é um procedimento padrão.

Passos:

  • Instale o FileZilla a partir do site oficial e inicie-o.
  • Na barra superior, introduza o servidor (normalmente ftp.o-seu-dominio.com), utilizador e palavra-passe, porta 21. Clique em "Ligação rápida".
  • Após a ligação, no painel direito (servidor) navegue até wp-content/themes/.
  • Dentro da pasta themes verá todos os temas instalados. Encontre o ativo; pode verificar o nome na área de administração: Aparência → Temas, o tema ativo está assinalado.
Estrutura da pasta do tema no servidor em FileZilla
  • No painel esquerdo (computador local) escolha a pasta onde pretende guardar a cópia.
  • Arraste a pasta do tema ativo do painel direito para o esquerdo, ou clique com o botão direito e selecione "Transferir".
  • Aguarde que a transferência termine. O FileZilla mostra o estado de cada ficheiro no painel inferior; certifique-se de que todos os ficheiros foram transferidos com sucesso.
Transferir uma pasta de tema através do cliente FTP FileZilla

Pronto: tem agora uma cópia exata da pasta do tema com todos os seus ficheiros no seu computador. Para restaurar, basta enviar a pasta de volta para wp-content/themes/ da mesma forma.

A vantagem deste método é o controlo total sem plugins. A desvantagem é que tem de se lembrar de o fazer manualmente: uma cópia FTP não é executada de forma programada, pelo que terá de a repetir antes de cada grande alteração ao tema.

2. Fazer cópia de segurança do seu tema com o plugin UpdraftPlus

Não quer lidar com FTP? O plugin UpdraftPlus é uma das ferramentas de cópia de segurança mais populares para WordPress: mais de 2 milhões de instalações ativas e compatibilidade total com a versão atual do WordPress. A versão gratuita pode enviar cópias de segurança para Dropbox, Google Drive, Amazon S3 e uma dúzia de outros serviços de armazenamento na nuvem.

A principal vantagem do UpdraftPlus para a nossa tarefa é a capacidade de criar uma cópia apenas do tema, sem descarregar toda a base de dados e ficheiros multimédia. Isto é rápido e poupa espaço.

Como fazer a cópia de segurança do seu tema com o UpdraftPlus:

  • Na administração do WordPress, vá a: Plugins → Adicionar Novo, procure por "UpdraftPlus".
  • Clique em "Instalar Agora" e depois em "Ativar".
Instalar o plugin UpdraftPlus a partir do repositório do WordPress
  • Após a ativação, aparece uma nova secção no menu: Configurações → Cópias de Segurança UpdraftPlus. Abra-a.
  • Está no separador "Cópia de Segurança / Restauro". Clique no botão azul "Fazer Cópia Agora".
Janela de criação de backup no UpdraftPlus
  • Na janela que aparece, marque "Temas" e desmarque tudo o resto. Clique em "Fazer Cópia Agora".
  • Em poucos segundos o processo terminará e verá uma confirmação e uma nova entrada na lista de cópias de segurança.
Lista de backups no UpdraftPlus com opção de download
  • Clique no botão "Temas" por baixo da entrada da cópia de segurança e o plugin oferecerá a opção de descarregar um arquivo com os ficheiros do tema para o seu computador.

Vantagens: agendamento (na versão paga), envio para a nuvem e a possibilidade de selecionar apenas temas. Desvantagem: mais um plugin na sua administração. Se já usa o UpdraftPlus para cópias de segurança completas, este método é a escolha óbvia. Basta marcar "Temas" e desmarcar o resto durante a sua próxima cópia manual para obter um arquivo leve contendo apenas os ficheiros do tema.

3. Fazer cópia de segurança através do editor de temas do WordPress

Se plugins extra são indesejáveis e não tem acesso FTP à mão, o editor de temas integrado do WordPress permite-lhe copiar o conteúdo de cada ficheiro manualmente. Este método é trabalhoso, mas funciona e não requer software de terceiros.

  • Na administração, vá a: Aparência → Editor de Temas.
Editor de temas do WordPress com lista de ficheiros do tema ativo
  • Na coluna da direita verá uma lista de todos os ficheiros do tema ativo. Um editor de código com o conteúdo do ficheiro selecionado abre à direita.
  • Selecione todo o código (Ctrl+A), copie-o (Ctrl+C).
  • Abra um ficheiro vazio num editor de texto (Notepad, Notepad++, VS Code), cole o código e guarde com o mesmo nome do ficheiro original.
  • Repita para cada ficheiro do tema: style.css functions.php header.php footer.php index.php single.php page.php e os outros templates na lista à direita.
Copiar código do ficheiro de tema para um editor de texto

Percorrer manualmente todos os ficheiros leva tempo; dependendo do tema, pode haver 15 a 30. Mas como alternativa quando não tem acesso FTP e não quer instalar um plugin, o editor de temas salva o dia. Para restaurar, copie o código de volta para os ficheiros correspondentes através do mesmo editor. Dica: comece pelos ficheiros mais importantes primeiro. O style.css controla a aparência, o functions.php controla a funcionalidade, o header.php e o footer.php controlam o cabeçalho e o rodapé do site. Estes são os mais frequentemente editados e a sua perda é a mais notória. Pode copiar os outros templates depois.

4. Fazer cópia de segurança e restaurar definições do tema via código

Os três métodos anteriores copiam os ficheiros do tema. Mas as definições do tema (cores, fontes, logótipo, opções do personalizador) são armazenadas na base de dados do WordPress e não estão nos ficheiros do tema. Para fazer uma cópia de segurança específica das definições, precisa de uma abordagem programática.

O código abaixo adiciona uma página chamada Aparência → Opções de Cópia de Segurança à administração, com dois botões: "Descarregar como ficheiro" (exportar definições para um ficheiro) e "Enviar ficheiro" (importar de um ficheiro). O código é colocado no functions.php do seu tema ativo.

Importante: antes de editar o functions.php, faça uma cópia de segurança do próprio ficheiro. Um erro de sintaxe PHP causará um ecrã branco e perderá o acesso à administração. Trabalhe via FTP ou através do Gestor de Ficheiros do seu alojamento para poder reverter as alterações.

1/*
2 Backup/Restore Theme Options
3 Adds a page «Appearance → Backup Options» for
4 exporting and importing theme settings via the database.
5*/
6
7class backup_restore_theme_options {
8
9 function backup_restore_theme_options() {
10 add_action('admin_menu', array(&$this, 'admin_menu'));
11 }
12 function admin_menu() {
13 $page = add_theme_page(
14 'Backup Options',
15 'Backup Options',
16 'manage_options',
17 'backup-options',
18 array(&$this, 'options_page')
19 );
20 add_action("load-{$page}", array(&$this, 'import_export'));
21 }
22 function import_export() {
23 if (isset($_GET['action']) && ($_GET['action'] == 'download')) {
24 header("Cache-Control: public, must-revalidate");
25 header("Pragma: hack");
26 header("Content-Type: text/plain");
27 header('Content-Disposition: attachment; filename="theme-options-'
28 . date("dMy") . '.dat"');
29 echo serialize($this->_get_options());
30 die();
31 }
32 if (isset($_POST['upload']) && check_admin_referer(
33 'shapeSpace_restoreOptions', 'shapeSpace_restoreOptions'
34 )) {
35 if ($_FILES["file"]["error"] > 0) {
36 // file upload error
37 } else {
38 $options = unserialize(
39 file_get_contents($_FILES["file"]["tmp_name"])
40 );
41 if ($options) {
42 foreach ($options as $option) {
43 update_option(
44 $option->option_name,
45 unserialize($option->option_value)
46 );
47 }
48 }
49 }
50 wp_redirect(admin_url('themes.php?page=backup-options'));
51 exit;
52 }
53 }
54 function options_page() { ?>
55
56 <div class="wrap">
57 <?php screen_icon(); ?>
58 <h2>Backup/Restore Theme Options</h2>
59 <form action="" method="POST" enctype="multipart/form-data">
60 <style>
61 #backup-options td {
62 display: block;
63 margin-bottom: 20px;
64 }
65 </style>
66 <table id="backup-options">
67 <tr>
68 <td>
69 <h3>Backup/Export</h3>
70 <p>Current theme settings:</p>
71 <p><textarea class="widefat code" rows="20" cols="100"
72 onclick="this.select()"><?php
73 echo serialize($this->_get_options());
74 ?></textarea></p>
75 <p><a href="?page=backup-options&action=download"
76 class="button-secondary">Download as file</a></p>
77 </td>
78 <td>
79 <h3>Restore/Import</h3>
80 <p><label class="description" for="upload">
81 Restore settings from file</label></p>
82 <p><input type="file" name="file" />
83 <input type="submit" name="upload" id="upload"
84 class="button-primary" value="Upload file" /></p>
85 <?php if (function_exists('wp_nonce_field'))
86 wp_nonce_field('shapeSpace_restoreOptions',
87 'shapeSpace_restoreOptions');
88 ?>
89 </td>
90 </tr>
91 </table>
92 </form>
93 </div>
94
95 <?php }
96 function _get_options() {
97 global $wpdb;
98 return $wpdb->get_results(
99 "SELECT option_name, option_value FROM {$wpdb->options}
100 WHERE option_name = 'shapeSpace_options'"
101 );
102 // replace 'shapeSpace_options' with your theme's options key
103 }
104}
105new backup_restore_theme_options();

O código procura entradas na base de dados com a chave shapeSpace_options; este é um valor de exemplo. Substitua-o pela chave de opções real do seu tema. Pode encontrar a chave no seu functions.php: procure chamadas a get_option('your_key') ou update_option('your_key', ...). Após substituir a chave e inserir o código, a página Opções de Cópia de Segurança aparecerá no menu "Aparência".

Para fazer a cópia, vá à página e clique em "Descarregar como ficheiro". Para restaurar, envie o ficheiro .dat guardado através do formulário "Enviar ficheiro". As definições são aplicadas instantaneamente.

⁉️🤔 Perguntas frequentes

Em que difere uma cópia de segurança do tema de uma cópia de segurança completa do WordPress?

Uma cópia de segurança completa através de um plugin como o UpdraftPlus ou uma ferramenta de alojamento copia tudo: base de dados, plugins, ficheiros multimédia, temas, núcleo do WordPress. Esse arquivo pesa centenas de megabytes e demora dezenas de minutos a restaurar. Uma cópia apenas do tema tem 2 a 10 MB de ficheiros de texto PHP/CSS/JS, transfere-se em segundos e é necessária antes de edições direcionadas a templates.

Com que frequência devo fazer uma cópia de segurança do meu tema?

Antes de cada alteração aos ficheiros do tema. Vai editar o header.php, faça uma cópia. Planeia atualizar o tema para uma nova versão, faça uma cópia. No resto do tempo, uma cópia de segurança completa regular do site é suficiente; inclui o tema automaticamente. Uma cópia de segurança manual do tema é um seguro para uma operação específica, não um substituto para uma cópia completa.

Posso restaurar um tema a partir de uma cópia de segurança completa do site?

Sim. De uma cópia de segurança completa (arquivo do UpdraftPlus, cópia do alojamento) pode extrair apenas a pasta do tema de wp-content/themes/; são os mesmos ficheiros da cópia via FTP. Mas se apenas estiver disponível uma cópia completa de 3 GB e precisar de restaurar uma única pasta, é mais fácil ter uma cópia separada do tema à mão.

Qual é o método mais fiável?

Uma combinação: o plugin UpdraftPlus para cópias de segurança automáticas regulares mais uma cópia de segurança manual via FTP da pasta do tema antes de grandes edições. O plugin protege contra o esquecimento humano e o FTP dá acesso instantâneo aos ficheiros sem a administração do WordPress.

O que devo fazer se o site parar de carregar após editar o functions.php?

Ligue-se ao servidor via FTP, descarregue o functions.php, remova ou comente o código errado no ficheiro no servidor e envie-o de volta. O site recuperará. É exatamente por isso que insistimos: faça sempre uma cópia do functions.php antes de editar.

O que fazer a seguir com a sua cópia de segurança do tema

Uma cópia de segurança do tema não é um fim em si mesma, mas parte de um processo de desenvolvimento saudável. Aqui está uma lista de verificação prática que protegerá o seu tema contra perdas:

  • Antes de atualizar o tema, faça uma cópia FTP da pasta do tema para o seu disco local. Demora um minuto, poupa horas de recuperação.
  • Antes de editar o functions.php, faça uma cópia separada especificamente desse ficheiro. Um erro de sintaxe PHP derruba o site. Com uma cópia, restaura o acesso via FTP em 30 segundos.
  • Uma vez por semana, se o tema estiver a ser ativamente desenvolvido, mantenha o UpdraftPlus à mão com um agendamento configurado (até a versão gratuita permite executar uma cópia manual em dois cliques).

Como organizar o armazenamento de cópias de segurança

Guardar uma única cópia no mesmo computador onde trabalha é arriscado. O disco pode falhar ou o portátil pode ser roubado. Uma abordagem minimamente suficiente: uma cópia local mais uma cópia na nuvem.

Para armazenamento na nuvem, qualquer solução com a qual se sinta confortável funciona. Dropbox, Google Drive, Yandex Disk, qualquer serviço com sincronização de pastas. Após a cópia FTP, basta mover a pasta do tema para um diretório sincronizado e a cópia irá automaticamente para a nuvem. O UpdraftPlus pode enviar cópias de segurança diretamente para Dropbox, Google Drive e Amazon S3 sem cópia manual.

Para quem trabalha com o seu tema regularmente, é útil adicionar a data ao nome da pasta: mytheme-backup-2025-03-17. Um mês depois, distinguirá facilmente a cópia de março da de abril e evitará confusões.

Caso especial: temas filho

Se usa um tema filho, precisa de fazer cópia de segurança de ambos os temas: pai e filho. O tema pai normalmente não é editado, mas ainda assim precisa de uma cópia antes de o atualizar. Caso a nova versão do tema pai quebre a compatibilidade com o seu tema filho, pode reverter. Faça uma cópia de segurança do tema filho antes de cada alteração; é aí que estão reunidas todas as suas edições.

Escolha o método que se adequa à sua situação. Se trabalha com código todos os dias, domine o código da secção 4: um botão de exportação de definições poupa muito tempo. Se entra para ajustar a cor de um botão uma vez por mês, o FTP ou o UpdraftPlus cobrirão as suas necessidades com folga. O principal é não adiar a sua primeira cópia de segurança para "depois". Faça-a agora, enquanto o tema está em bom estado de funcionamento.