¿Cómo se reconocen las actualizaciones del archivo style.css en el tema secundario?

2

Cuando actualizo style.css en mi tema infantil activo, los cambios no se detectan de inmediato.

Intenté hacer un touch en el archivo, pero los resultados han sido inconsistentes. Funcionó una vez, pero no funcionó la próxima vez. Los cambios fueron reconocidos después de esperar un tiempo (~ 15 minutos). Revisé las marcas de tiempo del archivo y ellos

¿Hay algo más que deba hacer para que WordPress sepa que el archivo style.css se ha actualizado para el tema actual? ¿El concepto de tiempo del navegador está involucrado en la decisión de incluir cambios del archivo style.css?

Nota: estoy usando el enfoque wp-enqueue-style() en lugar del método @import para incluir el estilo primario.css.

Actualización: hago actualizaciones en el navegador cada vez que actualizo style.css.

    
pregunta Sabuncu 29.02.2016 - 21:37

3 respuestas

1

El culpable fue el sistema de caché del lado del servidor utilizado por mi proveedor de servicios (SiteGround). Su cPanel tiene un dispositivo de vaciado de caché; Usándolo resuelto el problema:

Esta pregunta de stackoverflow también ayudó.

Aquí hay un enlace a la página de SiteGround que describe el sistema: caché estático de SiteGround

    
respondido por el Sabuncu 29.02.2016 - 22:26
3

El problema es que su navegador guarda en caché la hoja de estilos. Este no es un problema específico de WordPress, pero ocurrirá con cada recurso que abra en el navegador. La segunda cosa que puede (y probablemente ocurrirá) es que tiene algún tipo de caché del lado del servidor. Puede solucionar el almacenamiento en caché de sus servidores web presionando Ctrl + R o lo mismo con Ctrl + F5 - as siempre que su servidor envíe un encabezado Cache-Control adecuado, de lo contrario, no funcionará, ya que la memoria caché de sus servidores se negará a reaccionar a los comandos del mundo exterior (su cliente / navegador).

Aparte de eso, puedes decirle al servidor que tienes un recurso nuevo cada vez que cambias tu hoja de estilo. Esto se puede hacer simplemente agregando un argumento de consulta como ?<key>=<value> . La forma más sencilla de hacerlo es agregar una marca de tiempo UNIX de la última vez que se modificó su archivo:

add_action( 'wp_enqueue_scripts', function()
{
    wp_enqueue_style(
        'child-style-css',
        get_stylesheet_directory_uri()."/style.css",
        false,
        filemtime( get_stylesheet_directory()."/style.css" )
    );
}

Esto producirá una etiqueta HTML como la siguiente, donde el argumento de consulta adjunto es ver y el valor es 1456786622 :

<link rel="stylesheet" 
    type="text/css" 
    href="https://example.com/wp-content/themes/your-theme/style.css?ver=1456786622">
    
respondido por el kaiser 29.02.2016 - 22:11
1

Probablemente se deba a que su navegador está guardando en caché su archivo css. Intente volver a cargar con ctrl+F5 o para mac cmd+shift+r .

    
respondido por el Jorin van Vilsteren 29.02.2016 - 21:40

Lea otras preguntas en las etiquetas