Saltar para o conteúdo
WooCommerce 10.5: o que muda para developers (performance, API e breaking changes)
Inês Silva
Inês Silva 20 dEurope/Budapest January dEurope/Budapest 2026 · 9 min de leitura

WooCommerce 10.5: o que muda para developers (performance, API e breaking changes)

O WooCommerce 10.5 entra na fase final com foco claro em reduzir carga desnecessária no servidor (especialmente em lojas com volume alto), corrigir arestas na experiência de checkout e limpar alguns pontos que, na prática, estavam a causar problemas de compatibilidade entre extensões. Se manténs plugins/integrações em cima do WooCommerce, esta é uma versão para ler com atenção – há melhorias grandes de performance, novos filtros e alguns avisos que podem impactar código existente.

Calendário de release do WooCommerce 10.5 (e como testar)

O ciclo do 10.5 foi marcado pelo Feature Freeze a 12 de janeiro de 2026, e a partir daí entrou forte a fase de testes e estabilização.

  • ✅ Feature Freeze – Added: January 12, 2026
  • ✅ WooCommerce 10.5 Beta 1 – Released: January 19, 2026
  • ✅ WooCommerce 10.5 Beta 2 – Released: January 26, 2026
  • ⏳ WooCommerce Release 10.5 – Scheduled: February 4, 2026

Para testar as betas, a recomendação oficial é usar o WooCommerce Beta Tester plugin, que facilita alternar entre versões beta sem ter de gerir ZIPs manualmente.

O que vem aí no 10.5 (mudanças centrais)

1) Importação de encomendas para Analytics: de “uma action por evento” para importações agendadas em batch

A mudança mais estrutural do WooCommerce 10.5 está na forma como os dados das encomendas são importados para as tabelas de Analytics. Até aqui, cada evento de encomenda disparava um job de importação via ActionScheduler. Mesmo sendo assíncrono, em lojas com tráfego e volume altos isto gerava filas enormes (10.000+ actions), com degradação séria de performance, contenção na base de dados e lentidão generalizada do site.

No 10.5, o comportamento por defeito passa a ser Scheduled Imports: uma abordagem por lotes (batch processing) que refresca os dados de Analytics a cada 12 horas e processa 100 encomendas por batch. Ambos os valores são configuráveis por filtros novos:

  • woocommerce_analytics_import_interval – controla o intervalo (por defeito, 12 horas).
  • woocommerce_analytics_regenerate_batch_size – controla o tamanho do batch (por defeito, 100 encomendas por batch).

O efeito prático é uma redução drástica no número de ações agendadas e na pressão sobre a base de dados. Além disso, há um ganho de clareza operacional para quem gere a loja: o estado das importações fica mais visível e continua a ser possível disparar importações manualmente quando necessário. (PR: #61603)

2) Checkout block: UI das opções de envio melhorada (thumbnails, packages) + correção de sync Ship/Pickup

Para quem usa o Checkout em blocos (block-based checkout), o 10.5 melhora a UI das opções de envio: quando existem múltiplos packages (um cenário comum, por exemplo, com produtos de subscrição), as opções passam a apresentar thumbnails dos produtos e containers com borda, tornando a leitura e seleção mais óbvias.

A mesma entrega também corrige um bug relevante: ao alternar entre opções de entrega Ship e Pickup, os métodos de envio nem sempre sincronizavam corretamente. (PR: #61625)

3) Encomendas com dados de impostos “legados” ou corrompidos: mais robustez na visualização

Outra correção que tende a salvar tempo de suporte: o WooCommerce 10.5 melhora a confiabilidade ao abrir encomendas antigas (ou com dados de impostos danificados) em que os valores de imposto estavam guardados como float/string em vez de arrays – algo que pode acontecer por migrações antigas, integrações que gravaram dados fora do formato esperado, ou casos específicos de legado.

A solução no core adiciona tratamento backwards-compatible em todos os tipos de itens de encomenda (produtos, envios, taxas/fees), tenta inferir IDs de taxas (tax rate IDs) com base no contexto da encomenda, e ainda expõe um filtro para personalizar a conversão:

  • woocommerce_order_item_legacy_tax_conversion – permite lógica de conversão customizada em extensões.

(PR: #62271)

4) CSS do Select2: estilos do WooCommerce deixam de “vazar” para outros plugins

Se já apanhaste interfaces de outros plugins “mexidas” por estilos do WooCommerce, esta é para ti. No 10.5, os estilos do Select2 carregados pelo WooCommerce passam a estar scoped de forma a não afetar outras áreas do wp-admin nem UI de terceiros, através de :where(.woocommerce).

O detalhe importante aqui é que :where() tem especificidade zero, o que ajuda a manter compatibilidade com overrides existentes, ao mesmo tempo que evita o efeito colateral de styling global. (PR: #61956)

5) Novo filtro woocommerce_shipping_tax_class: cálculo dinâmico de impostos no envio

O 10.5 introduz um filtro novo para suportar cenários de impostos mais complexos no cálculo do envio: woocommerce_shipping_tax_class. A ideia é permitir definir a tax class (classe de imposto) do shipping de forma dinâmica, com base no conteúdo do carrinho, dados do cliente e localização.

Isto abre espaço para regras como “usar a taxa predominante no carrinho para taxar o envio”, o que é útil em países/mercados com regras específicas (o post cita o caso dos Países Baixos/Netherlands como exemplo de complexidade). (PR referenciado no post: #59512)

Mudanças de API e avisos para extensões (Developer Advisories)

Além das features principais, o 10.5 agrega um conjunto de mudanças que foram detalhadas em posts próprios no blog de developers. Aqui fica o mapa do que merece validação no teu código.

WC REST API: decoding correto de caracteres especiais em atributos de variações

A WC REST API passa a lidar corretamente com decoding de caracteres especiais em atributos de variações de produto. Na prática, isto reduz inconsistências quando tens atributos com caracteres fora do “ASCII simples” e integrações que dependem de valores estáveis na API.

Mais detalhes no advisory: https://developer.woocommerce.com/2026/01/14/wc-rest-api-fixes-for-product-variation-attributes-with-special-characters-in-woocommerce-10-5/

Remoção do trait AccessiblePrivateMethods (namespace Internal)

O trait AccessiblePrivateMethods vai ser removido. Ele vivia no namespace Internal, o que já era um sinal explícito de que não deveria ser consumido publicamente. Ainda assim, algumas extensões acabaram por depender dele de forma indevida – e é aí que pode haver impacto.

Advisory completo: https://developer.woocommerce.com/2026/01/15/removal-of-the-accessibleprivatemethods-trait-in-woocommerce-10-5/

Permalinks de produto baseados em categorias: prioridade para a categoria mais profunda

Para estruturas específicas de permalink que usam categorias no URL do produto, o 10.5 vai ajustar a forma como a categoria é escolhida: a prioridade passa a ser a categoria mais profunda. O objetivo é melhorar SEO e consistência dos URLs, mas isto pode alterar URLs gerados (e por consequência caches, regras de rewrite, ou integrações que assumiam uma categoria diferente).

Advisory: https://developer.woocommerce.com/2026/01/13/product-permalink-changes-coming-in-woocommerce-10-5/

Produto variável: botão “Add to Cart” desativado até o script de variações carregar

Em páginas de produtos variáveis, o WooCommerce passa a garantir que o Add to Cart fica desativado até o script de variações terminar de carregar. Isto resolve um comportamento que aparecia em ligações lentas: o utilizador conseguia clicar em “Add to Cart” antes da lógica de seleção/inicialização de variações estar pronta, resultando em submissões falhadas.

Advisory: https://developer.woocommerce.com/2026/01/16/add-to-cart-button-disabled-by-default-in-variable-products-in-woocommerce-10-5/

Performance: caches experimentais e melhorias em pontos críticos

REST API cache experimental (aplicável a qualquer endpoint)

O 10.5 introduz um REST API cache experimental, desenhado para ser aplicável a qualquer endpoint na WC REST API. O anúncio indica que vai haver mais informação (incluindo instruções de teste) antes do release final.

Caching de preços de variações: melhorias + nova utility class para callbacks

O caching de preços de variações também recebeu melhorias, juntamente com uma nova utility class para trabalhar com callbacks. Para detalhes técnicos e impacto esperado, o ponto de entrada é o post dedicado: https://developer.woocommerce.com/2026/01/08/variation-prices-caching-improvements-in-woocommerce-10-5/

Product Object Caching experimental: menos loads duplicados por request

Outra novidade relevante é o Product Object Caching (experimental). A proposta é cachear instâncias de produto durante cada request, evitando carregamentos duplicados a partir da base de dados quando o mesmo produto é necessário em múltiplos pontos do ciclo de execução.

PR: https://github.com/woocommerce/woocommerce/pull/62041 – Post com contexto: https://developer.woocommerce.com/2026/01/19/experimental-product-object-caching-in-woocommerce-10-5/

Product Filters: correção de cache data mal definido (e limpeza via transients)

O 10.5 corrige problemas de performance relacionados com dados de cache do bloco Product Filters que não estavam a ser corretamente definidos e carregados. Quando isto acontecia, a base de dados podia ficar inundada com cache data de filtros, afetando lojas com catálogos grandes.

Além do fix, a ferramenta de limpeza de transients do WooCommerce foi atualizada para também limpar este cache de filtros quando executa. Ainda assim, fica um ponto operacional importante: se uma loja usa o bloco Product Filters e continua com sintomas de performance, uma causa provável pode ser precisamente este cache – e a solução indicada é limpar os transients do WooCommerce. (PR: #62575)

Changelog completo (para auditoria de regressões)

Para uma revisão exaustiva de mudanças (incluindo detalhes menores), o changelog completo do 10.5 beta está aqui: https://github.com/woocommerce/woocommerce/blob/10.5.0-beta.1/plugins/woocommerce/readme.txt

Checklist rápida para developers antes de atualizar em produção

  • Testar com o WooCommerce Beta Tester plugin num ambiente de staging, especialmente se a loja for de alto volume.
  • Se tens código que interage com Analytics/ActionScheduler, observar a mudança para Scheduled Imports e validar se existem rotinas internas que assumiam “uma action por evento”.
  • Rever CSS/admin UIs se dependiam (mesmo sem querer) do styling global do Select2 do WooCommerce; agora os estilos estão scoped com :where(.woocommerce).
  • Se tens extensões a consumir símbolos do namespace Internal, procurar uso do trait AccessiblePrivateMethods e remover dependência.
  • Se geras URLs de produto com base em categorias (permalink structures específicas), validar impacto da escolha da categoria mais profunda.
  • Se integras com a REST API para variações/atributos, validar decoding de caracteres especiais.
  • Se usas Product Filters block em catálogos grandes, monitorizar performance e considerar limpeza de transients se houver degradação após upgrade.

Junte-se à comunidade HelloWP!

Converse conosco sobre WordPress, desenvolvimento web e compartilhe experiências com outros desenvolvedores.

- membros
- online
Participar

Usamos cookies para melhorar a sua experiência. Ao continuar, concorda com a nossa Política de Cookies.