ワードプレスサイトは、CSSやJAVASCRIPTがお使いのブラウザーにキャッシュされて変更が即反映されないことがございます。こちらをログインユーザーの場合はキャッシュを読み込まないようにする方法(PHPコード)をご紹介いたします。

ブラウザーキャッシュを抑制

ワードプレスサイトの開発しているときに、CSS(スタイルシート style.css)やJAVASCRIPTのコードを変更したのに反映されない場合があります。
この原因はワードプレスサイトのCSSがブラウザーにキャッシュされて古いものが表示され続けている事である可能性があります。

このようなキャッシュによる開発の不憫さを避けるために、ワードプレスにログインしている場合のみ、スタイルシートやJAVASCRIPTのブラウザーキャッシュを回避するPHPコードをご紹介します。

function mychange_file_version($src){
    
    if (is_user_logged_in()) {
        $src = preg_replace("/\?ver=[0-9.]+/", "?ver=".date('Ymdgis'), $src);
        return $src;
    }else{
        return $src;
    }
    
}

add_filter('style_loader_src', 'mychange_file_version', 999);
add_filter('script_loader_src', 'mychange_file_version', 999);

このコードでは、
style_loader_src スタイルがロードされたときのSRC要素にフィルタをかけるもの
script_loader_src JAVASCRIPTがロードされたときのSRC要素にフィルタをかけるもの

のフィルタ関数を利用してis_user_logged_in() でユーザーがログインしてる場合にのみ1秒ごとに変わる?ver= 文字列を付与(preg_replace関数による置き換え)し、ブラウザーが同バージョンのCSSやJAVASCRIPTだと認識しないようにしてキャッシュを読み込むのを回避しています。
お試しいただけましたら幸いです。

WordPress ワードプレスのカスタマイズやバグ修正、様々な政策のご依頼・ご相談はWPドクターまでお気軽にお送りください