
Woocommerce Brasil
Em WooCommerce > Configurações > Avançado > Recursos o armazenamento de pedidos está travado em “posts do WordPress”, com aviso de plugin incompatível do lado, e a sincronização que você ligou semana passada nunca termina. Os dois se resolvem por linha de comando. Antes de tudo, dump do banco: migração de pedido não tem desfazer.
sudo -u www-data wp db export ~/antes-do-hpos.sql
sudo -u www-data wp wc hpos status
sudo -u www-data wp wc hpos count_unmigrated
sudo -u www-data wp wc hpos sync --batch-size=500 O sync roda em lote e pode ser chamado quantas vezes quiser: só toca no que falta. Em loja grande eu deixo rodando numa tela separada e repito o count_unmigrated até zerar. Se parar no meio nada quebra: com o modo de compatibilidade ligado o pedido continua indo para os dois lugares.
sudo -u www-data wp db query "SELECT COUNT(*) FROM wp_posts WHERE post_type='shop_order'"
sudo -u www-data wp db query "SELECT COUNT(*) FROM wp_wc_orders"
sudo -u www-data wp option get woocommerce_custom_orders_table_enabled
sudo -u www-data wp option get woocommerce_custom_orders_table_data_sync_enabled Os números raramente batem exatos: wp_wc_orders guarda também os rascunhos de checkout, que no modelo antigo eram posts com status wc-checkout-draft. O que não pode é faltar pedido pago do lado novo. Conte agora: depois da virada o pedido novo só deixa um registro reserva em wp_posts com post_type shop_order_placehold e o COUNT de shop_order congela. Conferido, ligue com sudo -u www-data wp wc hpos enable, que grava yes na option woocommerce_custom_orders_table_enabled.
O seletor fica cinza porque algum plugin não declarou compatibilidade com a funcionalidade custom_order_tables. A lista sai em wp-admin/plugins.php?plugin_status=incompatible_with_feature&feature_id=custom_order_tables. Atualize ou troque: plugin que ainda lê wp_postmeta devolve pedido vazio depois da virada.
Deixe a sincronização dupla ligada umas duas semanas antes de desligar com wp option update woocommerce_custom_orders_table_data_sync_enabled no. É o botão de voltar atrás: enquanto ela existe, um wp wc hpos disable devolve a loja para as tabelas antigas.
A observação do pedido chegou com ordem embutida para gerar cupom. Delimite o texto do cliente e trate a resposta…
Um CSV com SKU e preço, um wp eval-file que agenda início e fim da promoção guardando o estado anterior,…
O erro 1040 aparece quando todas as conexões estão ocupadas. Antes de subir o max_connections, veja quem está segurando cada…
Allowed memory size exhausted no painel: qual das duas constantes do wp-config.php mexer, onde conferir o valor real e por…
strtotime com data brasileira devolve false e o INSERT quebra no MySQL 8. Use createFromFormat com getLastErrors antes de mandar…
O hash que o Magento mostra junto do erro é o nome de um arquivo em var/report. Veja como abrir,…