Non riesco a far caricare la versione più recente di style.css nel Child Theme
Sto usando un Child Theme configurato correttamente. Ma non riesco proprio a far sì che le modifiche apportate al file style.css del Child Theme si riflettano sul sito. Ho provato a svuotare la cache del browser milioni di volte ma non funziona!
Ho creato i file template del child e sovrascrivono quelli del parent senza problemi.
Ho notato che nel codice sorgente aggiunge un numero di versione alla fine del foglio di stile in questo modo:- style.css?ver=3.9.1 anche se non ho creato alcuna versione!
In un altro sito che ho creato non c'è alcuna numerazione di versione per il foglio di stile, quindi perché viene aggiunta automaticamente quando non voglio che sia impostata?
Come posso forzare l'uso della versione più aggiornata del file style.css del Child senza numerazione di versione?
Ecco l'URL del mio sito:- http://www.peterswebservices.co.uk/

In twentyfourteen, prova a inserire questo nel tuo child theme:
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' );
Questo sostituirà il foglio di stile originale con la tua versione. Se stai usando un parent theme diverso, controlla l'etichetta originale wp_enqueue_style per style.css e duplica quell'etichetta nel tuo child theme. Dovrai cambiare 1.0.0 con un altro numero ogni volta che apporti una modifica (quindi è meglio per ambienti di produzione dove non fai cambiamenti così spesso).
Per rimuovere completamente la versione dagli script e dagli stili prova questo:
// rimuove il tag versione WP da script e stili, ottimo per ambienti di sviluppo
// by 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 );
}

Aggiungere la funzione qui sotto nel file 'functions.php' di un tema child che ho utilizzato con X mi ha aiutato molto in una situazione simile.
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' ) );
}
Basta non dimenticare di rimuoverlo prima di mettere online il tuo sito web.
Tieni anche presente le funzionalità di caching del tuo provider di hosting per far sì che questo aggiornamento abbia effetto.
Secondo l'autore:
... è il modo migliore per includere un foglio di stile del tema child in WordPress combinato con filemtime() per forzare i browser a caricare nuove versioni dei file css. Non ho usato filemtime() per lo stile del parent perché non lo modifico mai e quindi filemtime() sprecherebbe solo risorse.
Fonte: Commento di Daniel del 22 ottobre 2014 all'articolo Prevenire la cache CSS: https://css-tricks.com/snippets/wordpress/prevent-css-caching/#comment-1586141

Senza vedere il sito non possiamo aiutare a diagnosticare il problema, ma un caso comune è che il CSS del tema principale abbia la priorità sul CSS del child theme. Puoi sovrascriverlo utilizzando il tag !important
, ad esempio:
#element {
color:#fff !important;
}
Il tag important indica che quel CSS ha la priorità su qualsiasi altro file CSS con la stessa regola
Facci sapere l'URL e se questo è stato utile

Non penso che !important sia il problema, ma ecco il mio URL:-http://www.peterswebservices.co.uk/ Inoltre quando uso l'ispettore su Google Chrome e analizzo il file css, mostra una versione precedente senza le ultime modifiche.

Ho avuto lo stesso problema e si è rivelato essere il mio nuovo host che aveva una qualche forma di cache attivata di default. Sono andato nel pannello di controllo e ho svuotato la cache, dopodiché ha servito correttamente il file style.css giusto.
Il parametro ?ver=3.9.1 si è rivelato essere una falsa pista (almeno nel mio caso). Dopo aver svuotato la cache, continua a mostrare ?ver=3.9.1, che non si trova da nessuna parte nel mio file css, ma tutto funziona correttamente.

Ho avuto lo stesso problema e l'ho risolto in un modo diverso da quello predefinito.
Per prima cosa ho individuato il file che dovevo modificare:
wp-includes\theme.php
C'è una funzione chiamata get_stylesheet_uri
La mia funzione ora appare così:
function get_stylesheet_uri() {
$time = time();
$stylesheet_dir_uri = get_stylesheet_directory_uri();
$stylesheet_uri = $stylesheet_dir_uri . '/style.css?v='.$time;
/**
* Filtro l'URI del foglio di stile del tema corrente.
*
* @since 1.5.0
*
* @param string $stylesheet_uri URI del foglio di stile per il tema/child theme corrente.
* @param string $stylesheet_dir_uri URI della directory del foglio di stile per il tema/child theme corrente.
*/
return apply_filters( 'stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
}
