No puedo hacer que el Child Theme cargue la última versión de style.css
Estoy usando un Child Theme configurado correctamente. Pero simplemente no puedo hacer que los cambios en el style.css del Child Theme se reflejen en el sitio. ¡He intentado vaciar la caché del navegador millones de veces y no funciona!
He creado archivos de plantilla hijo y sobrescriben los del tema padre sin problemas.
He notado que al ver el código fuente agrega un número de versión al final de la hoja de estilo así:- style.css?ver=3.9.1 ¡a pesar de que no he creado ninguna versión!
En otro sitio que creé no hay versionado de la hoja de estilo, entonces ¿por qué se agrega automáticamente cuando no quiero que esté configurado?
¿Cómo puedo forzar a que use la versión más actualizada del archivo style.css del Child y que no lo versione?
Aquí está la URL de mi sitio:- http://www.peterswebservices.co.uk/

En twentyfourteen, prueba colocando esto en tu tema hijo:
function add_require_scripts_files() {
wp_enqueue_style('twentyfourteen-style', get_stylesheet_directory_uri().'/style.css', array(), '1.0.0', "all");
}
add_action( 'wp_enqueue_scripts', 'add_require_scripts_files' );
Esto reemplazará la hoja de estilos original con tu propia versión. Si estás usando un tema padre diferente, revisa la etiqueta original wp_enqueue_style para style.css y duplica esa etiqueta dentro de tu tema hijo. Tendrás que cambiar el 1.0.0 por otro número cada vez que hagas un cambio (así que es mejor para entornos de producción donde no haces cambios con frecuencia).
Para eliminar completamente la versión de los scripts y estilos, prueba esto:
// remueve la etiqueta de versión WP de scripts y estilos, mejor para entornos de desarrollo
// por Adam Harley https://wordpress.org/support/topic/enqueueregister-script-remove-version
add_filter( 'script_loader_src', 'remove_src_version' );
add_filter( 'style_loader_src', 'remove_src_version' );
function remove_src_version ( $src ) {
global $wp_version;
$version_str = '?ver='.$wp_version;
$version_str_offset = strlen( $src ) - strlen( $version_str );
if( substr( $src, $version_str_offset ) == $version_str )
return substr( $src, 0, $version_str_offset );
}

Agregar la siguiente función en el 'functions.php' de un tema hijo que usé con X me ayudó mucho en una situación similar.
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), NULL, filemtime( get_stylesheet_directory() . '/style.css' ) );
}
Solo no olvides eliminar esto antes de lanzar tu sitio web en vivo.
También considera las funciones de caché de tu proveedor de hosting para que esta actualización surta efecto.
Según el autor:
... es la mejor manera de incluir una hoja de estilos de tema hijo en WordPress combinado con filemtime() para forzar a los navegadores a cargar nuevas versiones de los archivos css. No usé filemtime() para el parent-style ya que nunca lo modifico y por lo tanto filemtime() solo consumiría recursos innecesariamente.
Fuente: Comentario de Daniel del 22 de octubre de 2014 en el artículo Prevenir el almacenamiento en caché de CSS: https://css-tricks.com/snippets/wordpress/prevent-css-caching/#comment-1586141

Sin ver el sitio no podemos ayudar a diagnosticar el problema, pero una ocurrencia común es que el CSS del tema principal tenga prioridad sobre el CSS del tema hijo. Puedes anular esto usando la etiqueta !important
, por ejemplo:
#element {
color:#fff !important;
}
La etiqueta important marca ese CSS como prioritario sobre cualquier otro archivo CSS que tenga la misma línea de CSS
Indícanos la URL y si esto te ayuda

No creo que !important sea el problema, pero aquí está mi URL:-http://www.peterswebservices.co.uk/ Además, cuando uso el inspector en Google Chrome y profundizo en el archivo CSS, muestra una versión anterior sin los últimos cambios.

Acabo de tener el mismo problema y resultó que mi nuevo proveedor de hosting tenía algún tipo de caché activado por defecto. Fui al panel de control y limpié la caché, y entonces comenzó a servir correctamente el archivo style.css correcto.
El parámetro ?ver=3.9.1 resultó ser una falsa pista (al menos en mi caso). Después de limpiar la caché, seguía mostrando ?ver=3.9.1, el cual no aparece en ningún lugar de mi archivo css, pero todo funciona correctamente.

Tuve el mismo problema y lo solucioné de una manera diferente a la predeterminada.
Primero localicé el archivo que necesitaba cambiar:
wp-includes\theme.php
Hay una función llamada get_stylesheet_uri
Mi función se ve así:
function get_stylesheet_uri() {
$time = time();
$stylesheet_dir_uri = get_stylesheet_directory_uri();
$stylesheet_uri = $stylesheet_dir_uri . '/style.css?v='.$time;
/**
* Filtra el URI de la hoja de estilos del tema actual.
*
* @since 1.5.0
*
* @param string $stylesheet_uri URI de la hoja de estilos para el tema/hijo actual.
* @param string $stylesheet_dir_uri URI del directorio de la hoja de estilos para el tema/hijo actual.
*/
return apply_filters( 'stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
}
