Excluir encomendas e produtos WooCommerce

Se usares a versão mais recente do WooCommerce, podes ativar tabelas WooCommerce personalizadas (HPOS) e saltar a maioria dos passos deste artigo, seguindo instruções mais simples.

Lê estes dois artigos em vez disso:
– Como transferir produtos e clientes WooCommerce do site em produção para o site de Staging
– Como excluir encomendas WooCommerce de serem copiadas para o site em produção com HPOS

Como evitar que encomendas e produtos WooCommerce sejam sobrescritos durante o push

Sempre que usares o WP STAGING para fazer push de dados do site de Staging para o site em produção, tens de garantir que as encomendas, clientes e produtos WooCommerce no site em produção não são afetados e permanecem intactos.

Então, qual é a melhor forma de evitar que esses dados sejam sobrescritos durante o processo de push?

A resposta curta é: não consegues impedir que estes dados sejam copiados para o teu site de Staging, e não consegues juntar automaticamente encomendas e produtos WooCommerce do site em produção e do de Staging. Mas felizmente, há uma forma de não perder as tuas encomendas e produtos no site em produção, mas requer trabalho manual.

Importante: alguns Plugins afirmam conseguir fazer essa junção automaticamente, mas não acredites. Testámos todos, e é tecnicamente impossível executar essa junção de forma automática e fiável.

 

Pior ainda, alguns Plugins afirmam conseguir fazer essa junção, apenas para se descobrir que as encomendas e produtos foram sobrescritos sem qualquer aviso. Isto pode destruir a integridade dos dados, e tu nem dás por isso se não verificares cada encomenda e produto após essa junção.

Primeiro, precisamos de perceber onde o WooCommerce e o WordPress guardam encomendas, produtos, dados de utilizadores como moradas de clientes e todos os outros dados como posts e páginas:

  • As encomendas e os produtos são guardados nas tabelas wp_posts e wp_postmeta, separados por um campo de custom post type chamado ‘orders’.
  • O próprio WordPress também guarda a maioria dos seus dados, como páginas, posts e até entradas de menu e tudo o resto, nas mesmas tabelas wp_posts e wp_postmeta
  • Os utilizadores são guardados em wp_users e wp_usermeta

Muitas outras tabelas personalizadas do WooCommerce contêm dados como taxas de impostos, itens de encomenda e definições gerais do WooCommerce.

Cada nome de tabela do site de Staging começa com o prefixo  wpstg(x)_

Os nomes das tabelas WooCommerce começam com o mesmo prefixo de tabela, mas também começam com _woocommerce, como wpstg(x)_woocommerce_

O x no prefixo da tabela é o número do teu site de Staging. Se tens vários sites de Staging, esse número incrementa, como wpstg1_, wpstg2_ e por aí adiante.

Se queres migrar dados específicos do teu site de Staging para o site em produção sem afetar qualquer dado transacional, tens três opções:

Opção 1) Exporta encomendas, dados de utilizadores e outros dados transacionais do site em produção e importa-os para o site de Staging antes de migrares o site de Staging para produção.
Isso permite-te copiar todo o site de Staging.
Esta é a forma recomendada se não tens conhecimento sobre a estrutura interna da base de dados. Explicamos abaixo como fazê-lo.

Opção 2) Exclui todas as tabelas da base de dados exceto a tabela _options e seleciona apenas a pasta de Plugins e Themes que queres enviar para o site em produção. Indo por este caminho garantes que nunca sobrescreves nem perdes dados no site em produção gerados após a criação do site de Staging. A maioria dos Plugins também guarda as suas definições na tabela _options. Portanto, isto também migra as definições dos Plugins para o site em produção.
Importante: Quaisquer outros dados em falta que estejam incluídos nas tabelas _posts e _postmeta precisam de ser criados de novo no site em produção por ti, manualmente, após o push.

Opção 3) Exclui todas as tabelas da base de dados modificadas do processo de push. Se fores por este caminho, não vais migrar o site de Staging inteiro, incluindo os seus dados!
Dependendo das tabelas excluídas (ex.: _posts, _postmeta), isto pode resultar em imagens em falta e até elementos de layout em falta no teu site em produção. Isto acontece principalmente se usares um editor visual como o WPBakery (antes conhecido como visual composer) ou o Elementor, porque esses editores guardam os seus designs nas tabelas _posts e _postmeta.

Nota: a Opção 1 é a forma recomendada.

A melhor opção é exportar as tuas encomendas e dados de produtos usando um Plugin separado de export/import no site em produção e depois importar os dados de volta para o site de Staging antes de fazeres o push.

Antes de exportares e importares quaisquer encomendas do teu site em produção, recomenda-se fortemente criar outro site de Staging para testar todo o processo antes de fazeres a importação e exportação no site de Staging principal!


Guia rápido:

  1. Coloca o teu site em modo de manutenção.
  2. Instala o Plugin “WooCommerce Sequential Order Numbers” no site em produção e no de Staging.
  3. Instala o Plugin “Order Export & Order Import for WooCommerce” no site em produção e no de Staging.
  4. Exporta encomendas WooCommerce do site em produção.
  5. Elimina todas as encomendas no site de Staging.
  6. Importa encomendas para o site de Staging.
  7. Faz push do site de Staging para o site em produção.

Guia passo a passo

Antes de avançares, precisas de instalar dois Plugins de terceiros:

Vais precisar de instalar o Plugin “WooCommerce Sequential Order Numbers” para garantir que os números das encomendas não mudam ao importar.

Exportar e importar encomendas pode alterar o ID das encomendas importadas, porque o ID de encomenda WooCommerce baseia-se no post ID do WordPress, um número único no WordPress. Por isso, se o post ID no teu site de Staging já estiver a ser usado por um post ou qualquer outro item, a encomenda importada vai receber um novo ID. Isto poderia resultar num novo ID para uma encomenda importada.

Por isso, para manter o ID de encomenda intacto, vais precisar de usar o Plugin “WooCommerce Sequential Order Numbers”. 

Este Plugin adiciona uma nova entrada na base de dados para guardar o order id num campo separado. Isso permite ao teu site manter o order id separado e independente do post id.

  • Inicia sessão no teu site em produção
  • Vai a WebToffee Import Export > Export 
  • Seleciona “Order” como neste screenshot:

Depois escolhe “Quick” no próximo passo e clica em “Export”. Isto vai gerar um ficheiro CSV que podes guardar no teu computador.

  • Vai ao teu site de Staging > WooCommerce > Orders.
  • Seleciona todas as encomendas aí e move-as para o lixo. (Isto é importante, pois vais importar todas novamente no próximo passo, a partir do ficheiro que exportaste acima do site em produção.)
  1. Vai ao teu site de Staging.
  2. Abre WebToffee Import Export > Import

  3. Depois escolhe “Quick” e envia o ficheiro .csv que exportaste acima, e clica em “Import”, como mostrado neste screenshot:

Após este passo, todas as encomendas devem estar importadas no site de Staging, e o teu site de Staging está pronto para ser enviado para o site em produção seguindo este guia.

IMPORTANTE: Às vezes, ao importar encomendas para o site de Staging, pode haver um conflito entre IDs de encomendas e IDs de posts/páginas/attachments. Isto acontece porque adicionaste novos posts/páginas ou outro conteúdo no site de Staging.

Se isso acontecer, vais ver algo como neste screenshot durante o processo de importação:

Nesse caso, tens de editar o ficheiro .csv exportado usando Excel ou o LibreOffice Calc. Vale a pena referir que o LibreOffice Calc lida melhor com estes ficheiros, mas garante que selecionas a codificação UTF-8 ao abrir e guardar o ficheiro. Uma vez aberto o ficheiro, podes modificar os IDs de encomendas em conflito para qualquer número superior que ainda não esteja a ser usado pelos post IDs do teu site WordPress, ou eliminar os seus valores, que serão atribuídos novos durante a importação:

Depois, importa novamente o ficheiro, e todas as encomendas devem ser importadas com sucesso. 

Dica: podes precisar de fazer o mesmo com produtos WooCommerce ou utilizadores. Para isso, recomendamos usar estes Plugins:

Outra opção para excluir encomendas de serem sobrescritas é saltar todas as tabelas que contêm encomendas e produtos WooCommerce do push. Pelo menos terias de excluir as tabelas abaixo antes de fazeres push do site de Staging para o site em produção:

  • wpstg1_posts
  • wpstg1_postmeta
  • wpstg1_users
  • wpstg1_usermeta
    Todas as tabelas que começam com:
  • wpstg1_woocommerce_

Infelizmente, esta seleção de tabelas iria excluir posts, artigos e quaisquer outros dados guardados nas tabelas _posts e _postmeta no nosso site WordPress. Por exemplo, páginas, posts, entradas de menu e outros dados relacionados com posts seriam excluídos e não copiados para o site em produção.

Por isso, segue este passo só quando não alteras quaisquer dados no teu site de Staging que precises de migrar para o site em produção.

Vê também: referência de tabelas da base de dados WooCommerce.

Palavras-chave: WooCommerce, excluir encomendas WooCommerce, excluir produtos WooCommerce

Artigos relacionados

Updated on May 23, 2026

Rene Hermenau

Autor: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.