Cum să schimbi versiunea fișierului .css în WordPress?
După cum sugerează titlul, nu sunt sigur cum să schimb versiunea unui fișier .css în tema mea. În prezent, versionarea .css arată astfel:
<link rel='stylesheet' id='xxxx' href='https://www. site css/ styles.css?ver=4.6.1' type='text/css' media='all' />
Există vreun script pe care trebuie să-l rulez - unde ar trebui să caut pentru a face versiunea 4.6.2 ca în exemplul de mai sus?

Al patrulea argument, $ver
pentru wp_enqueue_style()
vă permite să setați versiunea:
wp_enqueue_style( string $handle,
string $src = false,
array $deps = array(),
string|bool|null $ver = false,
string $media = 'all' );
Conform documentației:
$ver (string|bool|null) (Opțional) Șir care specifică numărul versiunii fișierului de stil, dacă există, care este adăugat la URL ca parametru de interogare pentru a evita problema cache-ului. Dacă versiunea este setată la false, un număr de versiune este adăugat automat, egal cu versiunea curentă instalată de WordPress. Dacă este setat la null, nu se adaugă nicio versiune. Valoare implicită:
false

Mulțumesc pentru asta - cred că ceea ce încerc să întreb este 'cum fac asta' - adică 'cum rulez acel script pentru a genera o versiune nouă'? Sper că are sens...

Ai putea să actualizezi întrebarea ta cu codul unde este apelată funcția wp_enqueue_style()
? WordPress gestionează versiunea automat conform explicației despre $ver
postate în răspunsul meu, așa că presupun că $ver este setat pe false. Dacă vrei să îl schimbi, modifică argumentul $ver într-un șir nou (nu aș folosi 4.6.2 deoarece această convenție este deja folosită de WordPress), dar tehnic ar funcționa.

Majoritatea temelor folosesc funcția wp_enqueue_style()
în fișierul functions.php pentru a adăuga fișierul de stil în header. Iată cum poți verifica dacă tema ta face același lucru.
Deschide fișierul wp-content/themes/NUMELE_TEMEI/functions.php
și caută linia care adaugă fișierul de stil, precum:
wp_enqueue_style('main_style', get_stylesheet_directory_uri() . '/style.css');
Sau precum:
wp_enqueue_style( 'twentysixteen-style', get_stylesheet_uri() );
Poți căuta după ID (excluzând partea
-css
)... dacă ID-ul este:main_style-css
, caută doarmain_style
în fișierul functions.php și probabil vei găsi linia de cod pe care o cauți.
Acum că ai găsit codul și știi că tema ta adaugă acest fișier de stil folosind wp_enqueue_style()
în fișierul functions.php, trebuie să actualizezi acest cod pentru versiune.
$style_ver = filemtime( get_stylesheet_directory() . '/style.css' );
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', $style_ver );
După cum vezi, acest cod obține data ultimei modificări a fișierului style.css folosind funcția PHP filemtime()
și convertește timpul în timestamp folosind funcția PHP time()
pentru a menține lucrurile organizate.
Dacă nu dorești ca versiunea să se actualizeze dinamic de fiecare dată, poți face simplu asta:
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', '1.5' );
Asta e tot. Pace!

Nu am înțeles prea multe din aceste răspunsuri, așa că am decis să scriu ce a funcționat pentru mine. Știu că codex-ul spune:
$ver (string|bool|null) (Opțional) Șir care specifică versiunea fișierului de stil, dacă are una, care este adăugată la URL ca parametru de interogare pentru a evita cache-ul. Dacă versiunea este setată pe false, un număr de versiune este adăugat automat, egal cu versiunea curentă instalată de WordPress. Dacă este setat pe null, nicio versiune nu este adăugată. Valoare implicită: false
Dar este foarte criptic în legătură cu modul în care funcționează de fapt. Nu am reușit să obțin un număr de versiune în wp_enqueue_style
care să declanșeze un parametru de interogare precum ?ver=1.2.3
pe fișierul meu de stil. Totuși, setându-l pe true permite versiunii declarate în fișierul de stil să evite cache-ul
(continuă mai departe).
În fișierul tău style.css trebuie să numești tema ta. Acest lucru este cerut de WP. Totuși, alte opțiuni precum version
sunt cele la care se referă versiunea booleană din wp_enqueue_style.
/******************************************************************
Site Name: MySite.com
Author: @BenRacicot
Version: 4.0 // <- numărul de versiune din wp_enqueue_style
Stylesheet: Fișierul principal de stiluri
******************************************************************/
Acum, când schimb asta în Version: 4.1
obțin style.css?cache-bust=0.24135995238933283

Puteți folosi simplu time()
în momentul încărcării stilului sau scriptului astfel...
Fără a utiliza funcția WordPress wp_enqueue_style()
<link rel='stylesheet' id='xxxx' href='https://www.site.com/css/styles.css?ver=<?php echo time(); ?>' type='text/css' media='all' />
Folosind funcția wp_enqueue_style()
wp_enqueue_style('style_sheet_name', get_stylesheet_directory_uri() . '/custom_style.css', '', time());
SAU
wp_enqueue_style('style_sheet_name', get_stylesheet_uri() . '/custom_style.css', '', time());
