{"id":232672,"date":"2023-01-26T12:26:00","date_gmt":"2023-01-26T09:26:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232672"},"modified":"2023-01-26T12:26:47","modified_gmt":"2023-01-26T09:26:47","slug":"como-dizer-aos-navegadores-que-atualizam-arquivos-css-js-quando-os-arquivos-sao-alterados-no-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/como-dizer-aos-navegadores-que-atualizam-arquivos-css-js-quando-os-arquivos-sao-alterados-no-wordpress\/","title":{"rendered":"Como dizer aos navegadores que atualizam arquivos CSS\/JS quando os arquivos s\u00e3o alterados no WordPress?"},"content":{"rendered":"<p>Nos cabe\u00e7alhos do <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/script-php-para-proteger-as-pastas-do-wordpress-definindo-permissoes-de-arquivo-corretas\/\" title=\"wordpress, voc\u00ea provavelmente notar\u00e1 que os ativos est\u00e1ticos\">wordpress, voc\u00ea provavelmente notar\u00e1 que os ativos est\u00e1ticos<\/a> <a href=\"https:\/\/helloacm.com\/css-for-image-onmouseover-event\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CSS<\/a> e <a href=\"https:\/\/helloacm.com\/tutorial-example-how-to-access-microsoft-excel-chart-using-the-windows-scripting-host-jscript\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JS<\/a> s\u00e3o referenciados assim:<\/p>\n<pre><code>https:\/\/justyy.com\/wp-content\/themes\/twentytwelve\/style.css?ver=4.4.2<\/code><\/pre>\n<p>A string de consulta <strong>?ver=<\/strong> \u00e9 usada para instruir os navegadores a fazer uma atualiza\u00e7\u00e3o for\u00e7ada nos recursos est\u00e1ticos quando a vers\u00e3o principal do wordpress for alterada porque alguns navegadores podem n\u00e3o conseguir ignorar os arquivos de cache, pois a URL n\u00e3o foi alterada.<\/p>\n<p>\u00c0s vezes, quero alterar o <strong>style.css<\/strong> no <a href=\"https:\/\/helloacm.com\/schema-2-0-dont-let-google-penalize-your-slow-loading-website\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tema filho,<\/a> mas o navegador ainda est\u00e1 buscando o arquivo em cache, pois a vers\u00e3o do wordpress n\u00e3o foi alterada. e eu tenho que ir para <a href=\"https:\/\/helloacm.com\/cloudflare-weaker-sha1-ssl-to-support-all-browsers\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CloudFlare<\/a> para limpar o cache. Uma solu\u00e7\u00e3o melhor \u00e9 mudar <strong>?ver=<\/strong> para <strong>?filetime=<\/strong> para que toda vez que o arquivo for modificado, a URL mude.<\/p>\n<p>Voc\u00ea pode adicionar o seguinte ao template child-theme functions.php para que isso aconte\u00e7a.<\/p>\n<pre><code>function justyy_remove_cssjs_ver( $src) {\n\u00a0 $newsrc = $src;\n\u00a0 if( strpos( $newsrc, '?ver=')) {\n\u00a0 \u00a0 $newsrc = remove_query_arg( 'ver', $newsrc );\n\u00a0 }\n\u00a0 $rootdir = '\/var\/www'; \/\/ the path to your domain on the server\n\u00a0 $url = parse_url($newsrc, PHP_URL_PATH);\n\u00a0 $source = $rootdir .'\/'. $url;\n\u00a0 if (is_file($source)) {\n\u00a0 \u00a0 $newsrc .= \"?m=\".filemtime($source);\n\u00a0 \u00a0 return $newsrc;\n\u00a0 } \u00a0 \u00a0 \n\u00a0 return $src; \/\/ keep unchanged if file is not accessible.\n}\nadd_filter( 'style_loader_src', 'justyy_remove_cssjs_ver', 10, 2 );\nadd_filter( 'script_loader_src', 'justyy_remove_cssjs_ver', 10, 2 );<\/code><\/pre>\n<p>Voc\u00ea pode usar <a href=\"https:\/\/helloacm.com\/file_put_contents-substitute-in-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o conte\u00fado do arquivo<\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como dizer aos navegadores que atualizam os arquivos CSS\/JS quando os arquivos s\u00e3o alterados no WordPress?<\/p>\n","protected":false},"author":1,"featured_media":223973,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,837,920,806,846,1091,867],"tags":[1170],"class_list":["post-232672","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-guia-para-iniciantes","category-outro","category-php-8","category-tutoriais","category-velocidade-do-site","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=232672"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232672\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223973"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=232672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=232672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=232672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}