前にもちょっと書いてみましたが、functions.phpではなく<head>に直接書いた場合も同じなので、いろいろ解決策を調べました。
(一部のページでcssをいろいろ試すために、ちょっと別のスタイルシートを作っていたので<head>に直接書いていました)
問題
スタイルシートが反映されない。前回同様にキャッシュの問題ですが、いちいち対応するのがめんどくさいので良い方法を検索・・・
解決
リンクのスタイルシートのファイル名にファイルの更新によって自動生成されるパラメータをつければ解決するとのことでした。
例えば、functions.phpでスタイルシートを読み込む場合、通常は
style.css?ver=1.0.0 ← パラメータとしてバージョン情報がついている(?ver=1.0.0)
→都度、バージョン情報を書き換えればいいがめんどくさい。
<head>に直接書いた場合、通常は
style.css ← パラメータはついていない。
→都度、キャッシュをクリア(スーパーリロード)すればいいがこれも邪魔くさい。
といことで、パラメータに更新日時がつけば、更新すれば変わるので自動で読み込んでくれます。
style.css?230127090230 ← パラメータとして更新日時(年月日時分秒)がついている。
具体的な対応としては・・・
「functions.php」に書く場合 function mywork_enqueue_scripts() { wp_enqueue_style( 'mywork-theme-style', get_template_directory_uri() . '/assets/css/style.css', array(), date('ymdHis', filemtime( get_template_directory().'/assets/css/style.css' )) ); } add_action('wp_enqueue_scripts', 'mywork_enqueue_scripts');
「<head>に直接」書く場合 <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/style.css?<?php echo date('ymdHis',filemtime(get_template_directory().'/assets/css/style.css')); ?>">
コメント