El CSS no se actualiza en el navegador cuando lo cambio

23 jul 2013, 16:08:08
Vistas: 101K
Votos: 25

Estoy trabajando en el CSS de mi sitio WordPress. Cuando hago cambios y actualizo la página, los cambios no se reflejan. Cuando limpio el historial y el caché del navegador, los cambios siguen sin reflejarse. Cuando veo el código fuente de la página y miro el archivo CSS, tiene el contenido antiguo antes del cambio. ¿Cómo puedo hacer que esto se actualice para poder desarrollar?

5
Comentarios

¿Tienes algún plugin de caché activado? Tus archivos CSS podrían estar almacenados en caché en el servidor.

Pat J Pat J
23 jul 2013 16:09:59

Parece que no tengo un plugin de caché.

David Tunnell David Tunnell
23 jul 2013 16:12:24

¿Funciona si no usas WordPress? Por ejemplo, un archivo llamado test.html y un archivo .css asociado?

Pat J Pat J
23 jul 2013 18:02:41

Si alguna de las respuestas te ayudó a resolver el problema, ¡asegúrate de aceptarla!

mrwweb mrwweb
27 ago 2014 02:25:03

Respuesta corta: Edita la Versión en el archivo style.css del tema que estás usando cada vez que hagas un cambio y recarga tu página.

Yergalem Yergalem
6 nov 2023 18:19:46
Todas las respuestas a la pregunta 12
1
22

Añade un número de versión aleatorio al final del archivo CSS que estás enlazando. Si estás usando las funciones 'wp_enqueue_style' o wp_register_style, pasa un número aleatorio (versión) rand(111,9999) como cuarto parámetro. Si estás enlazando el CSS como una etiqueta HTML, deberías añadir "?ver=<?php echo rand(111,999)?>" al final del nombre del archivo. Aquí tienes ejemplos:

wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), rand(111,9999), 'all' );

o

<link rel="stylesheet" type="text/css" href="http://website.com/css/custom-style.css?ver=<?php echo rand(111,999)?>">

Esto evitará el almacenamiento en caché en el lado del cliente y posiblemente también en el caché del servidor.

23 jul 2013 19:11:15
Comentarios

¿Qué archivo contiene estas funciones para que podamos hacer la edición?

Sam Sam
4 oct 2021 22:37:08
2
10

Sé que esta publicación tiene más de un año, pero pensé en mencionar que CloudFlare almacena en caché archivos estáticos como css, js e imágenes para ayudar a tiempos de carga más rápidos. Algo que me tomó horas descubrir, ya que tenía problemas con los cambios en mi css que no se reflejaban al recargar. CloudFlare tiene un modo de desarrollo que puedes activar por 3 horas. Si olvidas activarlo antes de comenzar a hacer modificaciones, puedes purgar la caché desde la administración de CloudFlare.

20 sept 2014 15:48:29
Comentarios

CloudFlare cree que si hay ?ver= entonces el archivo no se puede actualizar.

Artem P Artem P
20 abr 2016 13:40:20

¿Me estás diciendo que cada vez que hago un cambio en CSS o JavaScript, necesito purgar la caché de Cloudflare? ¿Qué hace realmente este modo de desarrollo? Gracias.

Tanvir Tanvir
3 jul 2017 17:31:35
1

Yo también tuve este problema e intenté la solución más votada aquí pero no funcionó. Puedes hacer trucos simples como hice yo.

Sobrescribe el CSS que quieras cambiar en Apariencia > Personalizar > CSS personalizado en tu panel de control.

Eventualmente el CSS se actualizará. Entonces podrás eliminarlo nuevamente.

2 mar 2021 04:42:47
Comentarios

Esa es sin duda la opción más limpia si no tienes demasiados cambios que hacer.

Alexis Wilke Alexis Wilke
25 ene 2022 20:05:21
2

Por favor cambia la versión en la parte superior del archivo style.css (ubicado en ..wp-content\themes\nombre_del_tema\style.css) a una más nueva.

/*
Theme Name: SF TEST
Version: 1.0.1
*/

Por ejemplo, cambia de 1.0 a 1.1 ó 1.0.1.

Además, cambia la versión en el archivo function.php para ese archivo CSS

wp_enqueue_style('style', get_template_directory_uri() . "/assets/css/style.css", array(), '1.0', 'all');

Aquí cambia '1.0' a una versión más nueva como '1.1'

8 sept 2021 07:40:24
Comentarios

¿Podrías dar un ejemplo de ahora y dónde cambiarías esto en function.php?

Sam Sam
4 oct 2021 22:49:50

wp_enqueue_style('style', get_template_directory_uri() . "/assets/css/style.css", array(), '1.0', 'all'); aquí cambia 1.0 por una versión más nueva como 1.1

SF007 SF007
28 oct 2021 12:48:18
0

Es posible que tu proveedor de alojamiento esté utilizando algo como Varnish para almacenar en caché la salida de tu sitio. Me encontré con esto en el sitio de un cliente alojado en una cuenta de hosting compartido de bajo costo. El único remedio que encontré fue tener paciencia.

23 jul 2013 18:49:24
0

Si estás usando un tema hijo, es posible que necesites encolar la hoja de estilos del tema hijo para ver los cambios inmediatamente. Esto resolvió mi problema.

9 nov 2018 13:35:17
0

Solo quiero señalar - asegúrate de tener en cuenta cualquier plugin de caché que tengas instalado. WP Fastest Cache, por ejemplo, puede crear este problema si no recuerdas iniciar sesión en el panel de WordPress y hacer clic en "Limpiar caché --> Borrar caché y CSS/JS minificados" en el menú de navegación superior.

9 jun 2019 00:47:50
0

Esto puede ser antiguo. Pero necesito ayudar a alguien que pueda estar buscando asistencia. Tuve el mismo problema y revisé mis plugins. Había un plugin llamado "W3 Total Cache" que acelera la carga. Es un plugin de caché del lado del servidor, así que lo desactivé. Los cambios en el CSS se volvieron visibles nuevamente en tiempo real. Hay muchos plugins para mejorar la velocidad de carga. Así que revisa tu lista de plugins y desactívalos hasta que termines el desarrollo.

19 sept 2019 13:27:20
3

Modifica esto según tus necesidades, funciona de maravilla, genera un número de versión aleatorio cada vez que recargas la página, perfecto para desarrollo:

wp_enqueue_style('mypluginstyle',  plugins_url('/assets/mystyle.css', __FILE__), array(), rand(111,9999) );
4 jul 2021 10:36:10
Comentarios

¿No es lo mismo que la respuesta aceptada, creo?

Rup Rup
4 jul 2021 16:39:17

@Rup sí por favor, no había visto bien el ejemplo

Odonga Brian Odonga Brian
5 jul 2021 19:01:57

Y al igual que en la respuesta aceptada, no indicas qué archivo hay que editar...

Alexis Wilke Alexis Wilke
25 ene 2022 19:58:44
0

Sé que esta pregunta ya tiene una respuesta aceptada que funciona bien, pero quería mencionar otra solución que es un poco más simple.

Al encolar, usa la función PHP time() para obtener la hora actual y usarla como versión. Tu encolado se verá así:

wp_enqueue_style( 'my-custom-style', get_template_directory_uri() . '/style.css', array(), time() );

Y si estás cargando la hoja de estilos con HTML, tu código se verá así:

<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri ?>/style.css?ver=<?php echo time() ?>">
17 dic 2021 17:14:25
0

No estoy seguro de por qué nadie ha compartido esta solución. Obtienes una marca de tiempo Unix de la última modificación del archivo, por lo que si no realizaste cambios, el navegador o la caché de CDN pueden mantenerse.

wp_enqueue_style(
    'style_name', // Nombre de la hoja de estilos.
    get_stylesheet_directory_uri() . '/style.css', // URL completa de la hoja de estilos.
    array(), // Dependencias.
    filemtime( get_stylesheet_directory() . '/style.css' ) // Número de versión.
);

La distinción importante aquí es que estás llamando a la URI para la fuente, pero a la ubicación de la carpeta para la hora de modificación del archivo.

25 oct 2022 15:52:52
0
-1

Se encuentra en la Configuración de Privacidad del navegador que estás utilizando. Solo debes desactivar la sección que dice:

Precargar páginas para una navegación y búsqueda más rápida Utiliza cookies para recordar tus preferencias, incluso si no visitas esas páginas

19 may 2020 16:13:49