質問: filemtime(dirname(__file__) . '/css/style.css'); wp_register_style( 'fstop-stylesheet', get_stylesheet_directory_uri() . '/library/css/style.css', array(), $style_mtime , 'all'); wp_enqueue_style( 'fstop-stylesheet' ); タイムスタンプ部分をプラグインに渡すことができれば私はそれが大好きだ。私は最近、クエリ文字列をファイル名に移動するのに良い仕事をするこのプラグインを見つけました、それはプロキシのためにより良いキャッシングをもたらすべきです: https://gist.github.com/ocean90/1966227 そしてそれはうまくいきます。プロセス全体を自動化するためにタイムスタンプを追加したいと思います。アイデア?
回答: 古い答え(あなたがキャッシュバスターを望んでいたという誤解に基づいて):あなたは、クエリ引数を追加/置換する add_query_arg() を使うことができます。<?php /** * plugin name: wpse_84670 * version: 0.0.1 * description: replace script/style version with time as a cache buster */ /** * replace script or stylesheet version with current time * @param string $url the source url * @return string */ function wpse_84670_time_as_version($url) { return add_query_arg(array('ver' => time()), $url); } add_filter('script_loader_src', 'wpse_84670_time_as_version'); add_filter('style_loader_src', 'wpse_84670_time_as_version'); 新しい答え:それをしないでください!それはページ上のすべてのキューに入れられたスクリプトとスタイルシートのためにファイルアクセスを強制します、そしてあなたがどのプラグインをアクティブにしたかに依存します。それらの多くは、ブラウザがそれらのファイルを要求することすらありません(スクリプトとスタイルシートのために設定された期限が切れているなら - そしてあなたはそうすべきです!)代わりに、テーマのエンキューコードを囲む関数をラップするだけで、テーマがエンキューするファイルに対してのみファイルアクセスを行うことができます。さらに良いことに、あなたのテーマにローリングバージョン番号を保存し(私のテーマでは、私はそれを$forceloadと呼びます)、wp_enqueue_scriptに渡されるバージョンとしてそれを使用します。追加のファイルアクセスは必要ありません。$forceload = '42'; wp_enqueue_style('fstop-stylesheet', get_stylesheet_directory_uri() . '/library/css/style.css', false, $forceload, 'all');