Di header.php, saya ingin mengaitkan nomor versi dengan stylesheet sehingga browser terpaksa menyegarkannya. Tetapi ketika bekerja dengan tema anak, stylesheetnya tidak secara eksplisit disebut, melainkan WordPress yang secara otomatis mencarinya. Jadi bagaimana atau di mana menghubungkan nomor versi ke stylesheet tema anak?
child-theme
css
drake035
sumber
sumber
Saya pikir cara terbaik untuk melakukan ini adalah membiarkan stylesheet tema anak (style.css) kosong dengan hanya komentar yang diperlukan (seperti nama tema, deskripsi dll, sehingga dapat wordpress mengenali tema Anda) dan kemudian membuat file css lain di- Anda theme-name-folder / css / main.css
Setelah itu pada function.php Anda dapat memiliki "versi" baru setiap kali Anda mengubah file Anda:
Logika:
Setiap kali Anda menyimpan file, waktu modifikasi file diubah. Waktu baru diteruskan ke fungsi tanggal untuk mengonversi waktu (filemtime mengembalikan integer yang mewakili waktu) ke format tanggal untuk menjadikannya string dalam format yang Anda inginkan. Dalam contoh kita, waktu sedang diformat dengan akurasi menit. Anda dapat mengubahnya untuk melacak bahkan kedua yaitu.
"YmdHis"
Setelah itu waktu modifikasi file baru diteruskan sebagai versi baruwp_enqueue_style
.Referensi:
http://www.php.net/filemtime
http://php.net/manual/en/function.date.php
sumber
$cache_buster = wp_get_theme()->get('Version')
Anda akan mendapatkan versi yang ditentukan di blok komentarstyle.css
. Lihat codex.wordpress.org/Function_Reference/wp_get_theme untuk referensi.wp_get_theme()->get('Version')
bekerja seperti itu).Yang perlu Anda lakukan adalah membatalkan registrasi gaya utama dengan pegangan dan kemudian mendaftar ulang dengan nomor versi Anda. Dalam hal ini pegangannya adalah
style-css
.Anda dapat menentukan pegangan yang perlu Anda gunakan dengan melihat tautan stylesheet yang diberikan:
Di sini id adalah
style-css-css
yang berarti pegangan kitastyle-css
Letakkan ini di function.php dari tema anak Anda:
sumber
Jawaban teratas saat ini adalah bergantung pada tema, karena mengharuskan pengembang tema untuk menjadikan nomor versi tema anak itu menjadi variabel dan kemudian menambahkannya ke child style.css saat di-enqueuing. Saya pernah melihat ini pada beberapa tema, tetapi tidak banyak. Berikut ini berfungsi pada tema apa pun yang mendaftarkan gaya anak di functions.php - tidak akan bekerja dengan aturan @import lama, yang saya tidak melihat banyak lagi.
Di functions.php dari tema anak, Anda harus memiliki sesuatu yang mirip dengan ini:
Jika Anda mengubahnya ke berikut ini, itu akan menambahkan cap waktu sebagai nomor versi setiap kali file disimpan, memungkinkan setiap perubahan stylesheet untuk menembus cache lokal:
Semoga ini bisa membantu seseorang. Saya menggunakan ini di setiap situs yang saya kelola secara aktif.
sumber
Saya percaya bahwa jika Anda menggunakan editor tema Wordpress untuk mengedit stylesheet tema anak Anda, maka secara otomatis menambahkan nomor versi baru setiap kali Anda menyimpan file.
sumber
Alih-alih menggunakan style.css standar, saya biasanya menggunakan wp_enqueue_style di functions.php tema anak atau file php lain yang disertakan. Jadi, Anda masih memiliki style.css dalam tema anak dengan semua detail tema anak tetapi kemudian Anda dapat memiliki file css terpisah di tema anak untuk styling tema anak yang sebenarnya (saya biasanya meletakkan ini di aset / css direktori dalam tema anak). Ini juga akan memungkinkan Anda untuk mengatur versi CSS dengan parameter ke-4. Sebagai contoh:
Anda dapat menambahkan prioritas pada tindakan jika tidak memuat dalam urutan yang benar atau berfungsi dengan parameter dependensi di wp_enqueue_style di atas:
sumber