{"id":39281,"date":"2026-08-20T12:13:43","date_gmt":"2026-08-20T15:13:43","guid":{"rendered":"https:\/\/www.yogh.com.br\/blog\/?p=39281"},"modified":"2026-08-20T15:23:12","modified_gmt":"2026-08-20T18:23:12","slug":"alerta-de-erro-critico-incompatibilidade-entre-o-wordpress-7-1-e-o-wp-rocket-e-como-corrigir","status":"publish","type":"post","link":"https:\/\/www.yogh.com.br\/blog\/alerta-de-erro-critico-incompatibilidade-entre-o-wordpress-7-1-e-o-wp-rocket-e-como-corrigir\/","title":{"rendered":"Alerta de Erro Cr\u00edtico: Incompatibilidade entre o WordPress 7.1 e o WP Rocket (E como corrigir)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">O rec\u00e9m-lan\u00e7ado <strong>WordPress 7.1<\/strong> trouxe diversas novidades para a plataforma. No entanto, se voc\u00ea utiliza a vers\u00e3o atual do plugin de cache <strong>WP Rocket (3.23.2.2)<\/strong>, \u00e9 preciso ter muita cautela antes de apertar o bot\u00e3o de atualizar!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muitos usu\u00e1rios est\u00e3o relatando que a atualiza\u00e7\u00e3o direta para o WordPress 7.1 em ambiente de produ\u00e7\u00e3o est\u00e1 causando um <strong>erro cr\u00edtico<\/strong>, tirando os sites do ar instantaneamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste post, vamos explicar o que est\u00e1 acontecendo e como voc\u00ea pode aplicar uma corre\u00e7\u00e3o manual para resolver o problema enquanto aguardamos uma atualiza\u00e7\u00e3o oficial do WP Rocket.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Qual_e_o_problema\"><\/span>Qual \u00e9 o problema?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O problema ocorre devido a uma mudan\u00e7a no <em>core<\/em> do WordPress 7.1. Uma fun\u00e7\u00e3o interna que anteriormente lidava com chaves (<code>keys<\/code>) no formato de <em>string<\/em> (texto) agora est\u00e1 passando essas chaves como <em>int<\/em> (n\u00fameros inteiros).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O WP Rocket possui um m\u00e9todo espec\u00edfico (<code>unregister_callback<\/code>) que utiliza a fun\u00e7\u00e3o nativa do PHP <code>substr()<\/code>. Como a fun\u00e7\u00e3o <code>substr()<\/code> espera receber uma <em>string<\/em> e o WordPress 7.1 passou a enviar um <em>int<\/em>, ocorre um erro fatal (Fatal Error) que derruba a aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O problema j\u00e1 foi identificado pela comunidade e reportado no GitHub oficial do plugin (<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.google.com\/search?q=https:\/\/github.com\/wp-media\/wp-rocket\/pull\/8744&amp;authuser=1\">Pull Request #8744<\/a>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_corrigir_o_problema_manualmente\"><\/span>Como corrigir o problema manualmente<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A equipe do WP Rocket j\u00e1 est\u00e1 ciente e uma corre\u00e7\u00e3o oficial deve ser lan\u00e7ada em breve. Por\u00e9m, se o seu site j\u00e1 saiu do ar ou se voc\u00ea precisa muito fazer a atualiza\u00e7\u00e3o agora, existe um <em>fix<\/em> manual bem simples que resolve a situa\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tudo o que precisamos fazer \u00e9 for\u00e7ar o PHP a converter a vari\u00e1vel <code>$key<\/code> para uma <em>string<\/em> (processo conhecido como <em>type casting<\/em>) antes de pass\u00e1-la para a fun\u00e7\u00e3o <code>substr()<\/code>.Passo a passo:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Acesse os arquivos do seu site via FTP ou pelo Gerenciador de Arquivos da sua hospedagem.<\/li>\n\n\n\n<li>Navegue at\u00e9 a pasta do WP Rocket (geralmente em <code>wp-content\/plugins\/wp-rocket\/<\/code>).<\/li>\n\n\n\n<li>Voc\u00ea precisar\u00e1 editar o arquivo onde a fun\u00e7\u00e3o <code>unregister_callback<\/code> est\u00e1 definida (com base no erro reportado, procure pelo arquivo que gerencia as <em>callbacks<\/em> de hooks, possivelmente relacionado a integra\u00e7\u00f5es como a do Cloudflare).<\/li>\n\n\n\n<li>V\u00e1 at\u00e9 a linha exata (por volta da linha 559) onde voc\u00ea encontra o seguinte c\u00f3digo:<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"774\" height=\"201\" src=\"https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-21.png\" alt=\"\" class=\"wp-image-39282\" srcset=\"https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-21.png 774w, https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-21-300x78.png 300w, https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-21-768x199.png 768w, https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-21-100x26.png 100w\" sizes=\"(max-width: 774px) 100vw, 774px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>foreach ( $original_wp_filter&#91; $priority ] as $key =&gt; $config ) {\n    if ( substr( $key, -strlen( $method ) ) !== $method ) {\n        continue;\n    }\n<\/code><\/pre>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>Substitua<\/strong> esse trecho for\u00e7ando o <code>$key<\/code> a ser lido como <code>(string)<\/code>, ficando desta forma:<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"775\" height=\"197\" src=\"https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-35.png\" alt=\"\" class=\"wp-image-39283\" srcset=\"https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-35.png 775w, https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-35-300x76.png 300w, https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-35-768x195.png 768w, https:\/\/www.yogh.com.br\/blog\/wp-content\/uploads\/2026\/08\/Screenshot_2026-08-20_11-15-35-100x25.png 100w\" sizes=\"(max-width: 775px) 100vw, 775px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>foreach ( $original_wp_filter&#91; $priority ] as $key =&gt; $config ) {\n    \/\/ PHP casts numeric-string array keys to int, so $key is not always a string.\n    if ( substr( (string) $key, -strlen( $method ) ) !== $method ) {\n        continue;\n    }\n<\/code><\/pre>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li>Salve o arquivo.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Com essa simples modifica\u00e7\u00e3o de adicionar o <code>(string)<\/code> antes do <code>$key<\/code>, a vers\u00e3o 3.23.2.2 do WP Rocket voltar\u00e1 a funcionar perfeitamente com o WordPress 7.1 e o seu site voltar\u00e1 ao ar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Recomendacao_de_Seguranca\"><\/span>Recomenda\u00e7\u00e3o de Seguran\u00e7a<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Como sempre, <strong>evite atualizar grandes vers\u00f5es do WordPress diretamente em produ\u00e7\u00e3o<\/strong>, especialmente nos primeiros dias de lan\u00e7amento. Sempre teste as atualiza\u00e7\u00f5es em um ambiente de homologa\u00e7\u00e3o (<em>staging<\/em>) para garantir que os seus plugins e o seu tema s\u00e3o 100% compat\u00edveis com a nova vers\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea ainda n\u00e3o atualizou para o WP 7.1 e usa o WP Rocket, a melhor recomenda\u00e7\u00e3o \u00e9 <strong>aguardar<\/strong> at\u00e9 que uma nova vers\u00e3o corrigida do plugin seja lan\u00e7ada oficialmente no painel do WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Ficou com alguma d\u00favida ou n\u00e3o est\u00e1 conseguindo editar o arquivo? Deixe um coment\u00e1rio abaixo para que possamos ajudar!<\/em><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.yogh.com.br\/blog\/alerta-de-erro-critico-incompatibilidade-entre-o-wordpress-7-1-e-o-wp-rocket-e-como-corrigir\/#Qual_e_o_problema\" >Qual \u00e9 o problema?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.yogh.com.br\/blog\/alerta-de-erro-critico-incompatibilidade-entre-o-wordpress-7-1-e-o-wp-rocket-e-como-corrigir\/#Como_corrigir_o_problema_manualmente\" >Como corrigir o problema manualmente<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.yogh.com.br\/blog\/alerta-de-erro-critico-incompatibilidade-entre-o-wordpress-7-1-e-o-wp-rocket-e-como-corrigir\/#Recomendacao_de_Seguranca\" >Recomenda\u00e7\u00e3o de Seguran\u00e7a<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A atualiza\u00e7\u00e3o para o WordPress 7.1 est\u00e1 causando erro fatal em sites que utilizam o WP Rocket 3.23.2.2. Veja como aplicar uma corre\u00e7\u00e3o manual r\u00e1pida e colocar seu site de volta ao ar.<\/p>\n","protected":false},"author":21,"featured_media":39286,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"kk_blocks_editor_width":"","_kiokenblocks_attr":"","_kiokenblocks_dimensions":"","footnotes":""},"categories":[47,44,19],"tags":[],"class_list":["post-39281","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-atualizacao-wordpress","category-tutoriais","category-dicas-wordpress"],"acf":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/posts\/39281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/comments?post=39281"}],"version-history":[{"count":4,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/posts\/39281\/revisions"}],"predecessor-version":[{"id":39288,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/posts\/39281\/revisions\/39288"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/media\/39286"}],"wp:attachment":[{"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/media?parent=39281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/categories?post=39281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yogh.com.br\/blog\/wp-json\/wp\/v2\/tags?post=39281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}