web-dev-qa-db-ja.com

エンキューされたスタイルシートのバージョン番号が追加されない

ブラウザでキャッシュされている子テーマスタイルシートに問題があり、デキュー/再登録してからバージョン番号のタイムスタンプで再エンキューする必要があります。デキューして再エンキューしても問題はありませんが、何を試してもバージョン番号は追加されません。 wp_enqueue_style()のversionパラメータをtrueと文字列の両方に設定しようとしました。スタイルシートのリンクhrefにクエリ文字列として追加されたバージョン番号が何もないに関係なく。私の完全なコードスニペットは以下の通りです。

function custom_dequeue_enqueue_child_styles() {

    wp_dequeue_style('mk-style');
    wp_deregister_style('mk-style');

    $cacheBuster = filemtime(get_stylesheet_directory() . '/style.css');

    wp_enqueue_style('jupiter-child-stylesheet', get_stylesheet_directory_uri() . '/style.css', array(), $cacheBuster, 'all');

}

add_action( 'wp_enqueue_scripts', 'custom_dequeue_enqueue_child_styles', 999999999);
2
AndyWarren

結局のところ、コードは実際に動作します、そしてバージョン番号が取り除かれていた理由は、デフォルトですべてのJSとCSSファイルからすべてのバージョン番号を削除する埋め込みテーマオプションによるものです。

これはArtbeesによるJupiter WordPressテーマにあり、テーマオプションは「テーマオプション」>「速度の最適化」>「静的ファイルからの文字列の照会」にあります。デフォルトでは "off"に設定されており、それはバージョン番号を削除します。 "On"に設定すると、バージョン番号がクエリ文字列パラメータとして追加されます。これはデフォルトで有効にされる非常に愚かなオプションですが、現在はわかりました。

2
AndyWarren