Crie uma exceção customizada em PHP 8.3 estendendo RuntimeException, guarde o ID do pedido e preserve o erro original no parâmetro previous.
Exponha campos personalizados no /wp-json usando register_post_meta com show_in_rest, schema de array e auth_callback para liberar a escrita.
Escreva a data por extenso em pt-BR com IntlDateFormatter e pattern do ICU, sem array de meses, e evite o erro de fuso que tira um dia.
Use json_validate no PHP 8.3 para validar JSON de webhook e de fila sem montar o array, e veja quando o json_decode continua sendo a escolha certa.
Tire a chave de API do código com variável de ambiente, bloqueie o .env no nginx e saiba o que fazer quando o segredo já foi commitado.
Troque strpos e substr por str_contains no PHP 8, com str_starts_with, str_ends_with e o polyfill pronto para servidor ainda no PHP 7.4.
Veja como criar cupom no WooCommerce por código: WC_Coupon com validade, limite de uso e e-mail travado, disparado no pedido concluído.
Resolva a tela branca no WordPress 6.9 lendo o log do PHP-FPM, achando o plugin que gerou o erro fatal e desativando-o direto pelo SSH.
Entenda por que o DateTimeImmutable modify não altera o objeto, guarde o retorno certo e evite o bug de datas repetidas dentro de um laço em PHP.
Coloque defer nos scripts do WordPress 6.9 pelo próprio wp_enqueue_script, ajuste handles de terceiros e escape da armadilha do inline after.