En header.php, me gusta atribuir un número de versión a la hoja de estilo para que el navegador se vea obligado a actualizarlo. Pero cuando se trabaja con un tema secundario, su hoja de estilo no se llama explícitamente, sino que WordPress la busca automáticamente. Entonces, ¿cómo o dónde atribuir un número de versión a la hoja de estilo del tema secundario?
child-theme
css
drake035
fuente
fuente
Creo que la mejor manera de hacerlo es dejar vacía la hoja de estilo del tema secundario (style.css) con solo los comentarios necesarios (como el nombre del tema, la descripción, etc., para que WordPress reconozca su tema) y luego cree otro archivo css en su- theme-name-folder / css / main.css
Después de eso en function.php puede tener una nueva "versión" cada vez que cambie su archivo:
La lógica:
Cada vez que guarda el archivo, se modifica el tiempo modificado del archivo. La nueva hora se está pasando a la función de fecha para convertir la hora (filemtime devuelve un número entero que representa la hora) al formato de fecha para convertirla en una cadena en el formato que desee. En nuestro ejemplo, el tiempo se formatea con precisión de minutos. Puede cambiarlo para rastrear incluso el segundo, es decir.
"YmdHis"
Después de eso, el nuevo tiempo modificado del archivo se pasa como una nueva versiónwp_enqueue_style
.Referencia:
http://www.php.net/filemtime
http://php.net/manual/en/function.date.php
fuente
$cache_buster = wp_get_theme()->get('Version')
, obtendrá la versión especificada en el bloque de comentariosstyle.css
. Ver codex.wordpress.org/Function_Reference/wp_get_theme para referencia.wp_get_theme()->get('Version')
funciona de esa manera).Lo que debe hacer es cancelar el registro del estilo principal por medio de un identificador y luego volver a registrarse con su número de versión. En este caso el mango es
style-css
.Puede determinar el identificador que necesita usar mirando el enlace de la hoja de estilo representada:
Aquí la identificación es lo
style-css-css
que significa que nuestro identificador esstyle-css
Pon esto en la función.php de tu tema hijo:
fuente
La respuesta principal actual depende del tema, ya que requiere que el desarrollador del tema haya convertido ese número de versión del tema secundario en una variable y luego lo haya agregado al estilo secundario. He visto esto en algunos temas, pero no en muchos. Lo siguiente funciona en cualquier tema que registre los estilos secundarios en functions.php: no funcionará con la antigua regla @import, que no he visto mucho más.
En functions.php del tema hijo, deberías tener algo similar a esto:
Si lo cambia a lo siguiente, agregará una marca de tiempo como número de versión cada vez que se guarde el archivo, permitiendo que cada cambio de la hoja de estilo se rompa a través del caché local:
Espero que esto ayude a alguien. Lo uso en todos los sitios que administro activamente.
fuente
Creo que si usa el editor de temas de Wordpress para editar la hoja de estilo de su tema secundario, automáticamente agrega un nuevo número de versión cada vez que guarda el archivo.
fuente
En lugar de usar el estilo predeterminado.css, generalmente uso wp_enqueue_style en el archivo secundario functions.php u otro archivo php incluido. Por lo tanto, todavía tendría el style.css en el tema secundario con todos los detalles del tema secundario, pero luego puede tener un archivo css separado en el tema secundario para el estilo del tema secundario real (generalmente lo pongo en un activo / CSS directorio dentro del tema hijo). Esto también le permitiría configurar la versión CSS con el cuarto parámetro. Por ejemplo:
Puede agregar una prioridad a la acción si no se carga en el orden correcto o no funciona con el parámetro de dependencia en wp_enqueue_style anterior:
fuente